---
Fuzzer filename: '/src/picotls/fuzz/fuzz-asn1.c'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    feeder_next_byte
      functionSourceFile: '/src/picotls/fuzz/fuzz-asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 23
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      char
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    feeder_init
      functionSourceFile: '/src/picotls/fuzz/fuzz-asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 17
      functionLinenumberEnd: 20
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/picotls/fuzz/fuzz-asn1.c'
      linkageType:     externalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         41
      ICount:          274
      EdgeCount:       53
      CyclomaticComplexity: 14
      functionsReached:
        - close
        - feeder_init
        - feeder_next_byte
        - mkstemp
        - ptls_asn1_get_expected_type_and_length
        - ptls_asn1_validation
        - ptls_load_certificates
        - ptls_minicrypto_load_private_key
        - unlink
        - write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzz/fuzz-asn1.c:49,5'
          Dst:             feeder_init
        - Src:             'fuzz/fuzz-asn1.c:51,18'
          Dst:             feeder_next_byte
        - Src:             'fuzz/fuzz-asn1.c:51,45'
          Dst:             feeder_next_byte
        - Src:             'fuzz/fuzz-asn1.c:58,20'
          Dst:             feeder_next_byte
        - Src:             'fuzz/fuzz-asn1.c:61,11'
          Dst:             feeder_next_byte
        - Src:             'fuzz/fuzz-asn1.c:64,9'
          Dst:             ptls_asn1_validation
        - Src:             'fuzz/fuzz-asn1.c:66,23'
          Dst:             feeder_next_byte
        - Src:             'fuzz/fuzz-asn1.c:66,50'
          Dst:             feeder_next_byte
        - Src:             'fuzz/fuzz-asn1.c:68,25'
          Dst:             feeder_next_byte
        - Src:             'fuzz/fuzz-asn1.c:69,9'
          Dst:             ptls_asn1_get_expected_type_and_length
        - Src:             'fuzz/fuzz-asn1.c:75,14'
          Dst:             mkstemp
        - Src:             'fuzz/fuzz-asn1.c:79,15'
          Dst:             write
        - Src:             'fuzz/fuzz-asn1.c:89,13'
          Dst:             ptls_load_certificates
        - Src:             'fuzz/fuzz-asn1.c:98,13'
          Dst:             ptls_minicrypto_load_private_key
        - Src:             'fuzz/fuzz-asn1.c:101,9'
          Dst:             close
        - Src:             'fuzz/fuzz-asn1.c:102,9'
          Dst:             unlink
    - functionName:    count_printf
      functionSourceFile: '/src/picotls/fuzz/fuzz-asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mkstemp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    write
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    close
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unlink
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_iovec_init
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2032
      functionLinenumberEnd: 2039
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    chacha20poly1305_write_u64
      functionSourceFile: '/src/picotls/lib/cifra/../chacha20poly1305.h'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          69
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    chacha20poly1305_finalize
      functionSourceFile: '/src/picotls/lib/cifra/../chacha20poly1305.h'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          48
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - chacha20poly1305_encrypt_pad
        - chacha20poly1305_write_u64
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/../chacha20poly1305.h:62,5'
          Dst:             chacha20poly1305_encrypt_pad
        - Src:             'lib/cifra/../chacha20poly1305.h:64,5'
          Dst:             chacha20poly1305_write_u64
        - Src:             'lib/cifra/../chacha20poly1305.h:65,5'
          Dst:             chacha20poly1305_write_u64
    - functionName:    chacha20poly1305_encrypt_pad
      functionSourceFile: '/src/picotls/lib/cifra/../chacha20poly1305.h'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_cipher_encrypt
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2088
      functionLinenumberEnd: 2090
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_cipher_init
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2083
      functionLinenumberEnd: 2085
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    chacha20poly1305_decrypt
      functionSourceFile: '/src/picotls/lib/cifra/../chacha20poly1305.h'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      size_t
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          105
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - chacha20poly1305_finalize
        - chacha20poly1305_init
        - ptls_cipher_encrypt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/../chacha20poly1305.h:134,5'
          Dst:             chacha20poly1305_init
        - Src:             'lib/cifra/../chacha20poly1305.h:139,5'
          Dst:             chacha20poly1305_finalize
        - Src:             'lib/cifra/../chacha20poly1305.h:141,9'
          Dst:             ptls_cipher_encrypt
    - functionName:    chacha20poly1305_init
      functionSourceFile: '/src/picotls/lib/cifra/../chacha20poly1305.h'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          94
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - chacha20poly1305_encrypt_pad
        - ptls_aead__build_iv
        - ptls_cipher_encrypt
        - ptls_cipher_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/../chacha20poly1305.h:84,5'
          Dst:             ptls_aead__build_iv
        - Src:             'lib/cifra/../chacha20poly1305.h:85,5'
          Dst:             ptls_cipher_init
        - Src:             'lib/cifra/../chacha20poly1305.h:89,5'
          Dst:             ptls_cipher_encrypt
        - Src:             'lib/cifra/../chacha20poly1305.h:97,9'
          Dst:             chacha20poly1305_encrypt_pad
    - functionName:    ptls_aead__do_encrypt_v
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2151
      functionLinenumberEnd: 2158
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          86
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_aead__do_encrypt
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2138
      functionLinenumberEnd: 2147
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          80
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ptls_cipher_encrypt
        - ptls_cipher_init
        - ptls_iovec_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/picotls.h:2139,26'
          Dst:             ptls_iovec_init
        - Src:             'include/picotls.h:2143,9'
          Dst:             ptls_cipher_init
        - Src:             'include/picotls.h:2145,9'
          Dst:             ptls_cipher_encrypt
    - functionName:    chacha20poly1305_encrypt_final
      functionSourceFile: '/src/picotls/lib/cifra/../chacha20poly1305.h'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - chacha20poly1305_finalize
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/../chacha20poly1305.h:119,5'
          Dst:             chacha20poly1305_finalize
    - functionName:    chacha20poly1305_encrypt_update
      functionSourceFile: '/src/picotls/lib/cifra/../chacha20poly1305.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          45
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ptls_cipher_encrypt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/../chacha20poly1305.h:108,5'
          Dst:             ptls_cipher_encrypt
    - functionName:    chacha20poly1305_set_iv
      functionSourceFile: '/src/picotls/lib/cifra/../chacha20poly1305.h'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    chacha20poly1305_get_iv
      functionSourceFile: '/src/picotls/lib/cifra/../chacha20poly1305.h'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    chacha20poly1305_dispose_crypto
      functionSourceFile: '/src/picotls/lib/cifra/../chacha20poly1305.h'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ptls_cipher_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/../chacha20poly1305.h:74,5'
          Dst:             ptls_cipher_free
    - functionName:    cifra_poly1305_finish
      functionSourceFile: '/src/picotls/lib/cifra/chacha20.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_poly1305_finish
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/chacha20.c:88,5'
          Dst:             cf_poly1305_finish
    - functionName:    cifra_poly1305_update
      functionSourceFile: '/src/picotls/lib/cifra/chacha20.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_poly1305_update
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/chacha20.c:82,5'
          Dst:             cf_poly1305_update
    - functionName:    cifra_poly1305_init
      functionSourceFile: '/src/picotls/lib/cifra/chacha20.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_poly1305_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/chacha20.c:76,5'
          Dst:             cf_poly1305_init
    - functionName:    chacha20poly1305_setup_crypto
      functionSourceFile: '/src/picotls/lib/cifra/../chacha20poly1305.h'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          140
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ptls_cipher_new
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/../chacha20poly1305.h:193,24'
          Dst:             ptls_cipher_new
    - functionName:    chacha20_transform
      functionSourceFile: '/src/picotls/lib/cifra/chacha20.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_chacha20_cipher
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/chacha20.c:55,5'
          Dst:             cf_chacha20_cipher
    - functionName:    chacha20_init
      functionSourceFile: '/src/picotls/lib/cifra/chacha20.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          25
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    chacha20_dispose
      functionSourceFile: '/src/picotls/lib/cifra/chacha20.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cifra_chacha20poly1305_setup_crypto
      functionSourceFile: '/src/picotls/lib/cifra/chacha20.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - chacha20poly1305_setup_crypto
        - cifra_poly1305_finish
        - cifra_poly1305_init
        - cifra_poly1305_update
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/chacha20.c:93,12'
          Dst:             chacha20poly1305_setup_crypto
        - Src:             'lib/cifra/chacha20.c:93,12'
          Dst:             cifra_poly1305_init
        - Src:             'lib/cifra/chacha20.c:93,12'
          Dst:             cifra_poly1305_update
        - Src:             'lib/cifra/chacha20.c:93,12'
          Dst:             cifra_poly1305_finish
    - functionName:    chacha20_setup_crypto
      functionSourceFile: '/src/picotls/lib/cifra/chacha20.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_chacha20_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/chacha20.c:64,5'
          Dst:             cf_chacha20_init
    - functionName:    ptls_cipher_encrypt
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2088
      functionLinenumberEnd: 2090
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_cipher_init
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2083
      functionLinenumberEnd: 2085
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_iovec_init
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2032
      functionLinenumberEnd: 2039
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aesgcm_decrypt
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      size_t
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          80
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - cf_gcm_decrypt
        - ptls_aead__build_iv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:149,5'
          Dst:             ptls_aead__build_iv
        - Src:             'lib/cifra/aes-common.h:150,9'
          Dst:             cf_gcm_decrypt
    - functionName:    ptls_aead__do_encrypt_v
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2151
      functionLinenumberEnd: 2158
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          86
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_aead__do_encrypt
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2138
      functionLinenumberEnd: 2147
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          80
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ptls_cipher_encrypt
        - ptls_cipher_init
        - ptls_iovec_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/picotls.h:2139,26'
          Dst:             ptls_iovec_init
        - Src:             'include/picotls.h:2143,9'
          Dst:             ptls_cipher_init
        - Src:             'include/picotls.h:2145,9'
          Dst:             ptls_cipher_encrypt
    - functionName:    aesgcm_encrypt_final
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_gcm_encrypt_final
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:135,5'
          Dst:             cf_gcm_encrypt_final
    - functionName:    aesgcm_encrypt_update
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_gcm_encrypt_update
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:127,5'
          Dst:             cf_gcm_encrypt_update
    - functionName:    aesgcm_encrypt_init
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_gcm_encrypt_init
        - ptls_aead__build_iv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:119,5'
          Dst:             ptls_aead__build_iv
        - Src:             'lib/cifra/aes-common.h:120,5'
          Dst:             cf_gcm_encrypt_init
    - functionName:    aesgcm_set_iv
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aesgcm_get_iv
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aesgcm_dispose_crypto
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aead_aesgcm_setup_crypto
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          109
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cf_aes_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:194,5'
          Dst:             cf_aes_init
    - functionName:    aesctr_transform
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_ctr_cipher
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:86,5'
          Dst:             cf_ctr_cipher
    - functionName:    aesctr_init
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_ctr_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:80,5'
          Dst:             cf_ctr_init
    - functionName:    aesctr_dispose
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aesctr_setup_crypto
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_aes_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:95,5'
          Dst:             cf_aes_init
    - functionName:    aesecb_decrypt
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - cf_aes_decrypt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:51,5'
          Dst:             __assert_fail
        - Src:             'lib/cifra/aes-common.h:52,5'
          Dst:             cf_aes_decrypt
    - functionName:    __assert_fail
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    105
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aesecb_encrypt
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - cf_aes_encrypt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:44,5'
          Dst:             __assert_fail
        - Src:             'lib/cifra/aes-common.h:45,5'
          Dst:             cf_aes_encrypt
    - functionName:    aesecb_dispose
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aesecb_setup_crypto
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          47
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_aes_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:61,5'
          Dst:             cf_aes_init
    - functionName:    ptls_hash_clone_memcpy
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2167
      functionLinenumberEnd: 2169
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sha256_clone
      functionSourceFile: '/src/picotls/lib/cifra/aes128.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ptls_hash_clone_memcpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes128.c:39,1'
          Dst:             ptls_hash_clone_memcpy
    - functionName:    sha256_final
      functionSourceFile: '/src/picotls/lib/cifra/aes128.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          81
      EdgeCount:       12
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - cf_sha256_digest_final
        - cf_sha256_init
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/cifra/aes128.c:39,1'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/cifra/aes128.c:39,1'
          Dst:             cf_sha256_digest_final
        - Src:             'lib/cifra/aes128.c:39,1'
          Dst:             cf_sha256_digest_final
        - Src:             'lib/cifra/aes128.c:39,1'
          Dst:             cf_sha256_init
        - Src:             'lib/cifra/aes128.c:39,1'
          Dst:             __assert_fail
    - functionName:    sha256_update
      functionSourceFile: '/src/picotls/lib/cifra/aes128.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_sha256_update
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes128.c:39,1'
          Dst:             cf_sha256_update
    - functionName:    aead_aes128gcm_setup_crypto
      functionSourceFile: '/src/picotls/lib/cifra/aes128.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - aead_aesgcm_setup_crypto
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes128.c:36,12'
          Dst:             aead_aesgcm_setup_crypto
    - functionName:    aes128ctr_setup_crypto
      functionSourceFile: '/src/picotls/lib/cifra/aes128.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - aesctr_setup_crypto
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes128.c:31,12'
          Dst:             aesctr_setup_crypto
    - functionName:    aes128ecb_setup_crypto
      functionSourceFile: '/src/picotls/lib/cifra/aes128.c'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 26
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - aesecb_setup_crypto
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes128.c:26,12'
          Dst:             aesecb_setup_crypto
    - functionName:    sha256_create
      functionSourceFile: '/src/picotls/lib/cifra/aes128.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cf_sha256_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes128.c:39,1'
          Dst:             cf_sha256_init
    - functionName:    ptls_cipher_encrypt
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2088
      functionLinenumberEnd: 2090
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_cipher_init
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2083
      functionLinenumberEnd: 2085
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_iovec_init
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2032
      functionLinenumberEnd: 2039
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aesgcm_decrypt
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      size_t
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          80
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - cf_gcm_decrypt
        - ptls_aead__build_iv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:149,5'
          Dst:             ptls_aead__build_iv
        - Src:             'lib/cifra/aes-common.h:150,9'
          Dst:             cf_gcm_decrypt
    - functionName:    ptls_aead__do_encrypt_v
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2151
      functionLinenumberEnd: 2158
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          86
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_aead__do_encrypt
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2138
      functionLinenumberEnd: 2147
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          80
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ptls_cipher_encrypt
        - ptls_cipher_init
        - ptls_iovec_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/picotls.h:2139,26'
          Dst:             ptls_iovec_init
        - Src:             'include/picotls.h:2143,9'
          Dst:             ptls_cipher_init
        - Src:             'include/picotls.h:2145,9'
          Dst:             ptls_cipher_encrypt
    - functionName:    aesgcm_encrypt_final
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_gcm_encrypt_final
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:135,5'
          Dst:             cf_gcm_encrypt_final
    - functionName:    aesgcm_encrypt_update
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_gcm_encrypt_update
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:127,5'
          Dst:             cf_gcm_encrypt_update
    - functionName:    aesgcm_encrypt_init
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_gcm_encrypt_init
        - ptls_aead__build_iv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:119,5'
          Dst:             ptls_aead__build_iv
        - Src:             'lib/cifra/aes-common.h:120,5'
          Dst:             cf_gcm_encrypt_init
    - functionName:    aesgcm_set_iv
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aesgcm_get_iv
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aesgcm_dispose_crypto
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aead_aesgcm_setup_crypto
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          109
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cf_aes_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:194,5'
          Dst:             cf_aes_init
    - functionName:    aesctr_transform
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_ctr_cipher
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:86,5'
          Dst:             cf_ctr_cipher
    - functionName:    aesctr_init
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_ctr_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:80,5'
          Dst:             cf_ctr_init
    - functionName:    aesctr_dispose
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aesctr_setup_crypto
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_aes_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:95,5'
          Dst:             cf_aes_init
    - functionName:    aesecb_decrypt
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - cf_aes_decrypt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:51,5'
          Dst:             __assert_fail
        - Src:             'lib/cifra/aes-common.h:52,5'
          Dst:             cf_aes_decrypt
    - functionName:    aesecb_encrypt
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - cf_aes_encrypt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:44,5'
          Dst:             __assert_fail
        - Src:             'lib/cifra/aes-common.h:45,5'
          Dst:             cf_aes_encrypt
    - functionName:    aesecb_dispose
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aesecb_setup_crypto
      functionSourceFile: '/src/picotls/lib/cifra/aes-common.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          47
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_aes_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes-common.h:61,5'
          Dst:             cf_aes_init
    - functionName:    sha512_clone
      functionSourceFile: '/src/picotls/lib/cifra/aes256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ptls_hash_clone_memcpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes256.c:44,1'
          Dst:             ptls_hash_clone_memcpy
    - functionName:    ptls_hash_clone_memcpy
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2167
      functionLinenumberEnd: 2169
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sha512_final
      functionSourceFile: '/src/picotls/lib/cifra/aes256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          81
      EdgeCount:       12
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - cf_sha512_digest_final
        - cf_sha512_init
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/cifra/aes256.c:44,1'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/cifra/aes256.c:44,1'
          Dst:             cf_sha512_digest_final
        - Src:             'lib/cifra/aes256.c:44,1'
          Dst:             cf_sha512_digest_final
        - Src:             'lib/cifra/aes256.c:44,1'
          Dst:             cf_sha512_init
        - Src:             'lib/cifra/aes256.c:44,1'
          Dst:             __assert_fail
    - functionName:    sha512_update
      functionSourceFile: '/src/picotls/lib/cifra/aes256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_sha512_update
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes256.c:44,1'
          Dst:             cf_sha512_update
    - functionName:    sha384_clone
      functionSourceFile: '/src/picotls/lib/cifra/aes256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ptls_hash_clone_memcpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes256.c:39,1'
          Dst:             ptls_hash_clone_memcpy
    - functionName:    sha384_final
      functionSourceFile: '/src/picotls/lib/cifra/aes256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          81
      EdgeCount:       12
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - cf_sha384_digest_final
        - cf_sha384_init
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/cifra/aes256.c:39,1'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/cifra/aes256.c:39,1'
          Dst:             cf_sha384_digest_final
        - Src:             'lib/cifra/aes256.c:39,1'
          Dst:             cf_sha384_digest_final
        - Src:             'lib/cifra/aes256.c:39,1'
          Dst:             cf_sha384_init
        - Src:             'lib/cifra/aes256.c:39,1'
          Dst:             __assert_fail
    - functionName:    sha384_update
      functionSourceFile: '/src/picotls/lib/cifra/aes256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_sha384_update
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes256.c:39,1'
          Dst:             cf_sha384_update
    - functionName:    aead_aes256gcm_setup_crypto
      functionSourceFile: '/src/picotls/lib/cifra/aes256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - aead_aesgcm_setup_crypto
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes256.c:36,12'
          Dst:             aead_aesgcm_setup_crypto
    - functionName:    aes256ctr_setup_crypto
      functionSourceFile: '/src/picotls/lib/cifra/aes256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - aesctr_setup_crypto
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes256.c:31,12'
          Dst:             aesctr_setup_crypto
    - functionName:    aes256ecb_setup_crypto
      functionSourceFile: '/src/picotls/lib/cifra/aes256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 26
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - aesecb_setup_crypto
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes256.c:26,12'
          Dst:             aesecb_setup_crypto
    - functionName:    sha512_create
      functionSourceFile: '/src/picotls/lib/cifra/aes256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cf_sha512_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes256.c:44,1'
          Dst:             cf_sha512_init
    - functionName:    sha384_create
      functionSourceFile: '/src/picotls/lib/cifra/aes256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cf_sha384_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/aes256.c:39,1'
          Dst:             cf_sha384_init
    - functionName:    read_entropy
      functionSourceFile: '/src/picotls/lib/cifra/random.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          99
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - abort
        - close
        - open
        - perror
        - read
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/random.c:89,15'
          Dst:             open
        - Src:             'lib/cifra/random.c:90,19'
          Dst:             open
        - Src:             'lib/cifra/random.c:91,13'
          Dst:             perror
        - Src:             'lib/cifra/random.c:92,13'
          Dst:             abort
        - Src:             'lib/cifra/random.c:98,24'
          Dst:             read
        - Src:             'lib/cifra/random.c:98,58'
          Dst:             __errno_location
        - Src:             'lib/cifra/random.c:101,13'
          Dst:             perror
        - Src:             'lib/cifra/random.c:102,13'
          Dst:             abort
        - Src:             'lib/cifra/random.c:108,5'
          Dst:             close
    - functionName:    open
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    perror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    abort
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    37
      BranchProfiles:  []
      Callsites:       []
    - functionName:    read
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __errno_location
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_minicrypto_random_bytes
      functionSourceFile: '/src/picotls/lib/cifra/random.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cf_hash_drbg_sha256_gen
        - cf_hash_drbg_sha256_init
        - cf_hash_drbg_sha256_needs_reseed
        - read_entropy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/cifra/random.c:116,9'
          Dst:             cf_hash_drbg_sha256_needs_reseed
        - Src:             'lib/cifra/random.c:118,9'
          Dst:             read_entropy
        - Src:             'lib/cifra/random.c:119,9'
          Dst:             cf_hash_drbg_sha256_init
        - Src:             'lib/cifra/random.c:121,5'
          Dst:             cf_hash_drbg_sha256_gen
    - functionName:    ptls_iovec_init
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2032
      functionLinenumberEnd: 2039
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_set_ecdsa_private_key
      functionSourceFile: '/src/picotls/lib/minicrypto-pem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 321
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         74
      ICount:          482
      EdgeCount:       99
      CyclomaticComplexity: 27
      functionsReached:
        - memcmp
        - ptls_asn1_dump_content
        - ptls_asn1_error_message
        - ptls_asn1_get_expected_type_and_length
        - ptls_iovec_init
        - ptls_minicrypto_init_secp256r1sha256_sign_certificate
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/minicrypto-pem.c:217,18'
          Dst:             ptls_asn1_get_expected_type_and_length
        - Src:             'lib/minicrypto-pem.c:221,22'
          Dst:             ptls_asn1_error_message
        - Src:             'lib/minicrypto-pem.c:231,13'
          Dst:             ptls_asn1_dump_content
        - Src:             'lib/minicrypto-pem.c:243,22'
          Dst:             ptls_asn1_get_expected_type_and_length
        - Src:             'lib/minicrypto-pem.c:248,22'
          Dst:             ptls_asn1_error_message
        - Src:             'lib/minicrypto-pem.c:256,26'
          Dst:             ptls_asn1_error_message
        - Src:             'lib/minicrypto-pem.c:260,26'
          Dst:             ptls_asn1_error_message
        - Src:             'lib/minicrypto-pem.c:271,22'
          Dst:             ptls_asn1_get_expected_type_and_length
        - Src:             'lib/minicrypto-pem.c:281,9'
          Dst:             memcmp
        - Src:             'lib/minicrypto-pem.c:300,50'
          Dst:             ptls_iovec_init
        - Src:             'lib/minicrypto-pem.c:299,32'
          Dst:             ptls_minicrypto_init_secp256r1sha256_sign_certificate
    - functionName:    memcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_pem_parse_private_key
      functionSourceFile: '/src/picotls/lib/minicrypto-pem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 194
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          109
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - ptls_load_pem_objects
        - ptls_minicrypto_asn1_decode_private_key
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/minicrypto-pem.c:172,15'
          Dst:             ptls_load_pem_objects
        - Src:             'lib/minicrypto-pem.c:187,15'
          Dst:             ptls_minicrypto_asn1_decode_private_key
    - functionName:    ptls_minicrypto_asn1_decode_private_key
      functionSourceFile: '/src/picotls/lib/minicrypto-pem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          554
      EdgeCount:       103
      CyclomaticComplexity: 28
      functionsReached:
        - ptls_asn1_dump_content
        - ptls_asn1_error_message
        - ptls_asn1_get_expected_type_and_length
        - ptls_asn1_validation_recursive
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/minicrypto-pem.c:58,18'
          Dst:             ptls_asn1_get_expected_type_and_length
        - Src:             'lib/minicrypto-pem.c:62,22'
          Dst:             ptls_asn1_error_message
        - Src:             'lib/minicrypto-pem.c:69,26'
          Dst:             ptls_asn1_error_message
        - Src:             'lib/minicrypto-pem.c:73,26'
          Dst:             ptls_asn1_error_message
        - Src:             'lib/minicrypto-pem.c:84,22'
          Dst:             ptls_asn1_get_expected_type_and_length
        - Src:             'lib/minicrypto-pem.c:93,22'
          Dst:             ptls_asn1_get_expected_type_and_length
        - Src:             'lib/minicrypto-pem.c:100,17'
          Dst:             ptls_asn1_dump_content
        - Src:             'lib/minicrypto-pem.c:122,27'
          Dst:             ptls_asn1_validation_recursive
        - Src:             'lib/minicrypto-pem.c:132,26'
          Dst:             ptls_asn1_error_message
        - Src:             'lib/minicrypto-pem.c:139,22'
          Dst:             ptls_asn1_get_expected_type_and_length
        - Src:             'lib/minicrypto-pem.c:150,23'
          Dst:             ptls_asn1_validation_recursive
        - Src:             'lib/minicrypto-pem.c:157,22'
          Dst:             ptls_asn1_error_message
    - functionName:    ptls_minicrypto_load_private_key
      functionSourceFile: '/src/picotls/lib/minicrypto-pem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 325
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          90
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - memcmp
        - ptls_pem_parse_private_key
        - ptls_set_ecdsa_private_key
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/minicrypto-pem.c:327,15'
          Dst:             ptls_pem_parse_private_key
        - Src:             'lib/minicrypto-pem.c:337,9'
          Dst:             memcmp
        - Src:             'lib/minicrypto-pem.c:342,11'
          Dst:             ptls_set_ecdsa_private_key
    - functionName:    secp256r1_on_exchange
      functionSourceFile: '/src/picotls/lib/uecc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          140
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - ptls_iovec_init
        - uECC_secp256r1
        - uECC_shared_secret
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/uecc.c:64,68'
          Dst:             uECC_secp256r1
        - Src:             'lib/uecc.c:64,10'
          Dst:             uECC_shared_secret
        - Src:             'lib/uecc.c:68,15'
          Dst:             ptls_iovec_init
    - functionName:    ptls_iovec_init
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2032
      functionLinenumberEnd: 2039
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    secp256r1_key_exchange
      functionSourceFile: '/src/picotls/lib/uecc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          141
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - ptls_iovec_init
        - uECC_make_key
        - uECC_secp256r1
        - uECC_shared_secret
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/uecc.c:119,34'
          Dst:             uECC_secp256r1
        - Src:             'lib/uecc.c:119,5'
          Dst:             uECC_make_key
        - Src:             'lib/uecc.c:120,63'
          Dst:             uECC_secp256r1
        - Src:             'lib/uecc.c:120,10'
          Dst:             uECC_shared_secret
        - Src:             'lib/uecc.c:124,15'
          Dst:             ptls_iovec_init
        - Src:             'lib/uecc.c:125,15'
          Dst:             ptls_iovec_init
    - functionName:    secp256r1_create_key_exchange
      functionSourceFile: '/src/picotls/lib/uecc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          79
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - ptls_iovec_init
        - uECC_get_rng
        - uECC_make_key
        - uECC_secp256r1
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/uecc.c:88,54'
          Dst:             ptls_iovec_init
        - Src:             'lib/uecc.c:92,5'
          Dst:             uECC_get_rng
        - Src:             'lib/uecc.c:92,5'
          Dst:             __assert_fail
        - Src:             'lib/uecc.c:93,44'
          Dst:             uECC_secp256r1
        - Src:             'lib/uecc.c:93,5'
          Dst:             uECC_make_key
    - functionName:    secp256r1sha256_sign
      functionSourceFile: '/src/picotls/lib/uecc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          218
      EdgeCount:       46
      CyclomaticComplexity: 11
      functionsReached:
        - cf_sha256_digest_final
        - cf_sha256_init
        - cf_sha256_update
        - ptls_buffer__adjust_asn1_blocksize
        - ptls_buffer__do_pushv
        - ptls_buffer_push_asn1_ubigint
        - uECC_secp256r1
        - uECC_sign
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/uecc.c:154,9'
          Dst:             cf_sha256_init
        - Src:             'lib/uecc.c:155,9'
          Dst:             cf_sha256_update
        - Src:             'lib/uecc.c:156,9'
          Dst:             cf_sha256_digest_final
        - Src:             'lib/uecc.c:161,51'
          Dst:             uECC_secp256r1
        - Src:             'lib/uecc.c:161,5'
          Dst:             uECC_sign
        - Src:             'lib/uecc.c:164,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/uecc.c:164,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/uecc.c:164,5'
          Dst:             ptls_buffer_push_asn1_ubigint
        - Src:             'lib/uecc.c:164,5'
          Dst:             ptls_buffer_push_asn1_ubigint
        - Src:             'lib/uecc.c:164,5'
          Dst:             ptls_buffer__adjust_asn1_blocksize
    - functionName:    ptls_minicrypto_init_secp256r1sha256_sign_certificate
      functionSourceFile: '/src/picotls/lib/uecc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          38
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_asn1_validation
      functionSourceFile: '/src/picotls/lib/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          69
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - ptls_asn1_validation_recursive
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/asn1.c:299,22'
          Dst:             ptls_asn1_validation_recursive
    - functionName:    ptls_asn1_validation_recursive
      functionSourceFile: '/src/picotls/lib/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 294
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          321
      EdgeCount:       65
      CyclomaticComplexity: 18
      functionsReached:
        - ptls_asn1_dump_content
        - ptls_asn1_error_message
        - ptls_asn1_print_indent
        - ptls_asn1_print_type
        - ptls_asn1_read_length
        - ptls_asn1_read_type
        - ptls_asn1_validation_recursive
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/asn1.c:219,16'
          Dst:             ptls_asn1_error_message
        - Src:             'lib/asn1.c:231,9'
          Dst:             ptls_asn1_read_type
        - Src:             'lib/asn1.c:234,9'
          Dst:             ptls_asn1_print_type
        - Src:             'lib/asn1.c:239,9'
          Dst:             ptls_asn1_read_length
        - Src:             'lib/asn1.c:252,29'
          Dst:             ptls_asn1_error_message
        - Src:             'lib/asn1.c:259,29'
          Dst:             ptls_asn1_print_indent
        - Src:             'lib/asn1.c:266,35'
          Dst:             ptls_asn1_validation_recursive
        - Src:             'lib/asn1.c:284,17'
          Dst:             ptls_asn1_print_indent
        - Src:             'lib/asn1.c:288,13'
          Dst:             ptls_asn1_dump_content
    - functionName:    ptls_asn1_error_message
      functionSourceFile: '/src/picotls/lib/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ptls_asn1_print_indent
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/asn1.c:59,9'
          Dst:             ptls_asn1_print_indent
    - functionName:    ptls_asn1_read_type
      functionSourceFile: '/src/picotls/lib/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      size_t
      argCount:        8
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          144
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - ptls_asn1_error_message
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/asn1.c:113,26'
          Dst:             ptls_asn1_error_message
    - functionName:    ptls_asn1_print_type
      functionSourceFile: '/src/picotls/lib/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          94
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - ptls_asn1_print_indent
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/asn1.c:124,5'
          Dst:             ptls_asn1_print_indent
    - functionName:    ptls_asn1_read_length
      functionSourceFile: '/src/picotls/lib/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      size_t
      argCount:        9
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          204
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - ptls_asn1_error_message
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/asn1.c:151,30'
          Dst:             ptls_asn1_error_message
        - Src:             'lib/asn1.c:173,30'
          Dst:             ptls_asn1_error_message
    - functionName:    ptls_asn1_print_indent
      functionSourceFile: '/src/picotls/lib/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          43
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_asn1_dump_content
      functionSourceFile: '/src/picotls/lib/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          116
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_asn1_get_expected_type_and_length
      functionSourceFile: '/src/picotls/lib/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      size_t
      argCount:        9
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - char
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          116
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - ptls_asn1_error_message
        - ptls_asn1_read_length
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/asn1.c:190,16'
          Dst:             ptls_asn1_error_message
        - Src:             'lib/asn1.c:195,22'
          Dst:             ptls_asn1_error_message
        - Src:             'lib/asn1.c:201,13'
          Dst:             ptls_asn1_read_length
        - Src:             'lib/asn1.c:206,26'
          Dst:             ptls_asn1_error_message
    - functionName:    vli_numDigits
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 237
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          52
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uECC_vli_mmod
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 572
      functionLinenumberEnd: 609
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          254
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - uECC_vli_clear
        - uECC_vli_numBits
        - uECC_vli_rshift1
        - uECC_vli_set
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:579,59'
          Dst:             uECC_vli_numBits
        - Src:             'deps/micro-ecc/uECC.c:583,5'
          Dst:             uECC_vli_clear
        - Src:             'deps/micro-ecc/uECC.c:590,9'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:604,9'
          Dst:             uECC_vli_rshift1
        - Src:             'deps/micro-ecc/uECC.c:606,9'
          Dst:             uECC_vli_rshift1
        - Src:             'deps/micro-ecc/uECC.c:608,5'
          Dst:             uECC_vli_set
    - functionName:    uECC_vli_numBits
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          74
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - vli_numDigits
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:252,30'
          Dst:             vli_numDigits
    - functionName:    uECC_vli_clear
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 212
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          34
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uECC_vli_set
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 267
      functionLinenumberEnd: 272
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          41
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    42
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uECC_vli_rshift1
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 320
      functionLinenumberEnd: 330
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          46
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uECC_vli_mult
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 419
      functionLinenumberEnd: 445
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          169
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - muladd
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:428,13'
          Dst:             muladd
        - Src:             'deps/micro-ecc/uECC.c:437,13'
          Dst:             muladd
    - functionName:    muladd
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - size_t
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          53
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    vli_modInv_update
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 683
      functionLinenumberEnd: 692
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          64
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - uECC_vli_add
        - uECC_vli_rshift1
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:686,17'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/uECC.c:688,5'
          Dst:             uECC_vli_rshift1
    - functionName:    uECC_vli_add
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 348
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          85
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    27
      BranchProfiles:  []
      Callsites:       []
    - functionName:    XYcZ_addC
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 828
      functionLinenumberEnd: 859
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          158
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uECC_vli_modAdd
        - uECC_vli_modMult_fast
        - uECC_vli_modSquare_fast
        - uECC_vli_modSub
        - uECC_vli_set
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:835,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:836,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/uECC.c:837,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/uECC.c:838,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/uECC.c:839,5'
          Dst:             uECC_vli_modAdd
        - Src:             'deps/micro-ecc/uECC.c:840,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:842,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:843,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/uECC.c:844,5'
          Dst:             uECC_vli_modAdd
        - Src:             'deps/micro-ecc/uECC.c:845,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/uECC.c:846,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:848,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:849,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/uECC.c:850,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:852,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/uECC.c:853,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:854,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:855,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/uECC.c:856,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:858,5'
          Dst:             uECC_vli_set
    - functionName:    uECC_vli_modSub
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 558
      functionLinenumberEnd: 565
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - uECC_vli_add
        - uECC_vli_sub
      functionUses:    32
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:559,28'
          Dst:             uECC_vli_sub
        - Src:             'deps/micro-ecc/uECC.c:563,9'
          Dst:             uECC_vli_add
    - functionName:    uECC_vli_modSquare_fast
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 674
      functionLinenumberEnd: 676
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uECC_vli_modMult_fast
      functionUses:    20
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:675,5'
          Dst:             uECC_vli_modMult_fast
    - functionName:    uECC_vli_modMult_fast
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 625
      functionLinenumberEnd: 633
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uECC_vli_mult
      functionUses:    37
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:627,5'
          Dst:             uECC_vli_mult
    - functionName:    uECC_vli_modAdd
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 544
      functionLinenumberEnd: 550
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          58
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - uECC_vli_add
        - uECC_vli_cmp_unsafe
        - uECC_vli_sub
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:545,25'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/uECC.c:546,18'
          Dst:             uECC_vli_cmp_unsafe
        - Src:             'deps/micro-ecc/uECC.c:548,9'
          Dst:             uECC_vli_sub
    - functionName:    uECC_vli_cmp_unsafe
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          74
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uECC_vli_sub
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 367
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          85
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    22
      BranchProfiles:  []
      Callsites:       []
    - functionName:    XYcZ_initial_double
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 771
      functionLinenumberEnd: 787
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          77
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - apply_z
        - uECC_vli_clear
        - uECC_vli_set
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:775,9'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:777,9'
          Dst:             uECC_vli_clear
        - Src:             'deps/micro-ecc/uECC.c:781,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:782,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:784,5'
          Dst:             apply_z
        - Src:             'deps/micro-ecc/uECC.c:786,5'
          Dst:             apply_z
    - functionName:    apply_z
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 756
      functionLinenumberEnd: 763
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          39
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uECC_vli_modMult_fast
        - uECC_vli_modSquare_fast
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:759,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/uECC.c:760,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/uECC.c:761,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/uECC.c:762,5'
          Dst:             uECC_vli_modMult_fast
    - functionName:    omega_mult_secp256k1
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 1227
      functionLinenumberEnd: 1242
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          61
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - muladd
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/curve-specific.inc:1235,9'
          Dst:             muladd
    - functionName:    vli_mmod_fast_secp256k1
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 1157
      functionLinenumberEnd: 1178
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          75
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - omega_mult_secp256k1
        - uECC_vli_add
        - uECC_vli_clear
        - uECC_vli_cmp_unsafe
        - uECC_vli_sub
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/curve-specific.inc:1161,5'
          Dst:             uECC_vli_clear
        - Src:             'deps/micro-ecc/curve-specific.inc:1162,5'
          Dst:             uECC_vli_clear
        - Src:             'deps/micro-ecc/curve-specific.inc:1164,5'
          Dst:             omega_mult_secp256k1
        - Src:             'deps/micro-ecc/curve-specific.inc:1166,13'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:1167,5'
          Dst:             uECC_vli_clear
        - Src:             'deps/micro-ecc/curve-specific.inc:1168,5'
          Dst:             omega_mult_secp256k1
        - Src:             'deps/micro-ecc/curve-specific.inc:1169,14'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:1173,9'
          Dst:             uECC_vli_sub
        - Src:             'deps/micro-ecc/curve-specific.inc:1175,9'
          Dst:             uECC_vli_cmp_unsafe
        - Src:             'deps/micro-ecc/curve-specific.inc:1176,9'
          Dst:             uECC_vli_sub
    - functionName:    double_jacobian_secp256k1
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 1113
      functionLinenumberEnd: 1146
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          136
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - uECC_vli_add
        - uECC_vli_isZero
        - uECC_vli_modAdd
        - uECC_vli_modMult_fast
        - uECC_vli_modSquare_fast
        - uECC_vli_modSub
        - uECC_vli_rshift1
        - uECC_vli_testBit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/curve-specific.inc:1118,9'
          Dst:             uECC_vli_isZero
        - Src:             'deps/micro-ecc/curve-specific.inc:1122,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:1123,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:1124,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:1125,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:1126,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:1128,5'
          Dst:             uECC_vli_modAdd
        - Src:             'deps/micro-ecc/curve-specific.inc:1129,5'
          Dst:             uECC_vli_modAdd
        - Src:             'deps/micro-ecc/curve-specific.inc:1130,9'
          Dst:             uECC_vli_testBit
        - Src:             'deps/micro-ecc/curve-specific.inc:1131,29'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:1132,9'
          Dst:             uECC_vli_rshift1
        - Src:             'deps/micro-ecc/curve-specific.inc:1135,9'
          Dst:             uECC_vli_rshift1
        - Src:             'deps/micro-ecc/curve-specific.inc:1139,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:1140,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/curve-specific.inc:1141,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/curve-specific.inc:1143,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/curve-specific.inc:1144,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:1145,5'
          Dst:             uECC_vli_modSub
    - functionName:    mod_sqrt_default
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          83
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - uECC_vli_add
        - uECC_vli_modMult_fast
        - uECC_vli_modSquare_fast
        - uECC_vli_numBits
        - uECC_vli_set
        - uECC_vli_testBit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/curve-specific.inc:121,5'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:122,14'
          Dst:             uECC_vli_numBits
        - Src:             'deps/micro-ecc/curve-specific.inc:123,9'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:124,13'
          Dst:             uECC_vli_testBit
        - Src:             'deps/micro-ecc/curve-specific.inc:125,13'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:128,5'
          Dst:             uECC_vli_set
    - functionName:    x_side_secp256k1
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 1149
      functionLinenumberEnd: 1153
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uECC_vli_modAdd
        - uECC_vli_modMult_fast
        - uECC_vli_modSquare_fast
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/curve-specific.inc:1150,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:1151,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:1152,5'
          Dst:             uECC_vli_modAdd
    - functionName:    uECC_vli_testBit
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uECC_vli_isZero
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          44
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    vli_mmod_fast_secp256r1
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 981
      functionLinenumberEnd: 1054
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          379
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - uECC_vli_add
        - uECC_vli_cmp_unsafe
        - uECC_vli_set
        - uECC_vli_sub
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/curve-specific.inc:986,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/curve-specific.inc:993,18'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:994,14'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:1000,14'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:1001,14'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:1008,14'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:1015,14'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:1022,14'
          Dst:             uECC_vli_sub
        - Src:             'deps/micro-ecc/curve-specific.inc:1029,14'
          Dst:             uECC_vli_sub
        - Src:             'deps/micro-ecc/curve-specific.inc:1036,14'
          Dst:             uECC_vli_sub
        - Src:             'deps/micro-ecc/curve-specific.inc:1043,14'
          Dst:             uECC_vli_sub
        - Src:             'deps/micro-ecc/curve-specific.inc:1047,22'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:1050,25'
          Dst:             uECC_vli_cmp_unsafe
        - Src:             'deps/micro-ecc/curve-specific.inc:1051,22'
          Dst:             uECC_vli_sub
    - functionName:    double_jacobian_default
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          196
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - uECC_vli_add
        - uECC_vli_isZero
        - uECC_vli_modAdd
        - uECC_vli_modMult_fast
        - uECC_vli_modSquare_fast
        - uECC_vli_modSub
        - uECC_vli_rshift1
        - uECC_vli_set
        - uECC_vli_testBit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/curve-specific.inc:59,9'
          Dst:             uECC_vli_isZero
        - Src:             'deps/micro-ecc/curve-specific.inc:63,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:64,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:65,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:66,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:67,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:69,5'
          Dst:             uECC_vli_modAdd
        - Src:             'deps/micro-ecc/curve-specific.inc:70,5'
          Dst:             uECC_vli_modAdd
        - Src:             'deps/micro-ecc/curve-specific.inc:71,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/curve-specific.inc:72,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:74,5'
          Dst:             uECC_vli_modAdd
        - Src:             'deps/micro-ecc/curve-specific.inc:75,5'
          Dst:             uECC_vli_modAdd
        - Src:             'deps/micro-ecc/curve-specific.inc:76,9'
          Dst:             uECC_vli_testBit
        - Src:             'deps/micro-ecc/curve-specific.inc:77,31'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:78,9'
          Dst:             uECC_vli_rshift1
        - Src:             'deps/micro-ecc/curve-specific.inc:81,9'
          Dst:             uECC_vli_rshift1
        - Src:             'deps/micro-ecc/curve-specific.inc:85,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:86,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/curve-specific.inc:87,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/curve-specific.inc:88,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/curve-specific.inc:89,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:90,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/curve-specific.inc:92,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/curve-specific.inc:93,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/curve-specific.inc:94,5'
          Dst:             uECC_vli_set
    - functionName:    x_side_default
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          51
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uECC_vli_modAdd
        - uECC_vli_modMult_fast
        - uECC_vli_modSquare_fast
        - uECC_vli_modSub
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/curve-specific.inc:102,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:103,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/curve-specific.inc:104,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:105,5'
          Dst:             uECC_vli_modAdd
    - functionName:    mod_sqrt_secp224r1_rm
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 497
      functionLinenumberEnd: 515
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          73
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uECC_vli_modAdd
        - uECC_vli_modMult_fast
        - uECC_vli_modSquare_fast
        - uECC_vli_modSub
        - uECC_vli_set
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/curve-specific.inc:501,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:502,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:504,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/curve-specific.inc:505,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:506,5'
          Dst:             uECC_vli_modAdd
        - Src:             'deps/micro-ecc/curve-specific.inc:507,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:508,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:509,5'
          Dst:             uECC_vli_modAdd
        - Src:             'deps/micro-ecc/curve-specific.inc:510,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:511,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:513,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/curve-specific.inc:514,5'
          Dst:             uECC_vli_set
    - functionName:    mod_sqrt_secp224r1
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 544
      functionLinenumberEnd: 567
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          86
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - mod_sqrt_secp224r1_rp
        - mod_sqrt_secp224r1_rs
        - uECC_vli_isZero
        - uECC_vli_modInv
        - uECC_vli_modMult_fast
        - uECC_vli_set
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/curve-specific.inc:554,5'
          Dst:             mod_sqrt_secp224r1_rp
        - Src:             'deps/micro-ecc/curve-specific.inc:555,5'
          Dst:             mod_sqrt_secp224r1_rs
        - Src:             'deps/micro-ecc/curve-specific.inc:557,9'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/curve-specific.inc:558,9'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/curve-specific.inc:559,9'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/curve-specific.inc:560,9'
          Dst:             mod_sqrt_secp224r1_rs
        - Src:             'deps/micro-ecc/curve-specific.inc:561,13'
          Dst:             uECC_vli_isZero
        - Src:             'deps/micro-ecc/curve-specific.inc:565,5'
          Dst:             uECC_vli_modInv
        - Src:             'deps/micro-ecc/curve-specific.inc:566,5'
          Dst:             uECC_vli_modMult_fast
    - functionName:    vli_mmod_fast_secp224r1
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 681
      functionLinenumberEnd: 724
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          186
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - uECC_vli_add
        - uECC_vli_cmp_unsafe
        - uECC_vli_set
        - uECC_vli_sub
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/curve-specific.inc:686,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/curve-specific.inc:694,5'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:700,5'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:707,14'
          Dst:             uECC_vli_sub
        - Src:             'deps/micro-ecc/curve-specific.inc:713,14'
          Dst:             uECC_vli_sub
        - Src:             'deps/micro-ecc/curve-specific.inc:717,22'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:720,16'
          Dst:             uECC_vli_cmp_unsafe
        - Src:             'deps/micro-ecc/curve-specific.inc:721,13'
          Dst:             uECC_vli_sub
    - functionName:    mod_sqrt_secp224r1_rp
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 522
      functionLinenumberEnd: 540
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          84
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - mod_sqrt_secp224r1_rm
        - mod_sqrt_secp224r1_rss
        - uECC_vli_modSub
        - uECC_vli_set
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/curve-specific.inc:529,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/curve-specific.inc:531,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/curve-specific.inc:533,9'
          Dst:             mod_sqrt_secp224r1_rss
        - Src:             'deps/micro-ecc/curve-specific.inc:534,9'
          Dst:             mod_sqrt_secp224r1_rm
        - Src:             'deps/micro-ecc/curve-specific.inc:535,9'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/curve-specific.inc:536,9'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/curve-specific.inc:537,9'
          Dst:             uECC_vli_set
    - functionName:    mod_sqrt_secp224r1_rs
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 459
      functionLinenumberEnd: 469
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          51
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uECC_vli_modAdd
        - uECC_vli_modMult_fast
        - uECC_vli_modSquare_fast
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/curve-specific.inc:462,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:463,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:464,5'
          Dst:             uECC_vli_modAdd
        - Src:             'deps/micro-ecc/curve-specific.inc:465,5'
          Dst:             uECC_vli_modAdd
        - Src:             'deps/micro-ecc/curve-specific.inc:466,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/curve-specific.inc:467,5'
          Dst:             uECC_vli_modAdd
        - Src:             'deps/micro-ecc/curve-specific.inc:468,5'
          Dst:             uECC_vli_modAdd
    - functionName:    uECC_vli_modInv
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 699
      functionLinenumberEnd: 739
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          191
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - uECC_vli_add
        - uECC_vli_clear
        - uECC_vli_cmp_unsafe
        - uECC_vli_isZero
        - uECC_vli_rshift1
        - uECC_vli_set
        - uECC_vli_sub
        - vli_modInv_update
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:703,9'
          Dst:             uECC_vli_isZero
        - Src:             'deps/micro-ecc/uECC.c:704,9'
          Dst:             uECC_vli_clear
        - Src:             'deps/micro-ecc/uECC.c:708,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:709,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:710,5'
          Dst:             uECC_vli_clear
        - Src:             'deps/micro-ecc/uECC.c:712,5'
          Dst:             uECC_vli_clear
        - Src:             'deps/micro-ecc/uECC.c:713,25'
          Dst:             uECC_vli_cmp_unsafe
        - Src:             'deps/micro-ecc/uECC.c:715,13'
          Dst:             uECC_vli_rshift1
        - Src:             'deps/micro-ecc/uECC.c:716,13'
          Dst:             vli_modInv_update
        - Src:             'deps/micro-ecc/uECC.c:718,13'
          Dst:             uECC_vli_rshift1
        - Src:             'deps/micro-ecc/uECC.c:719,13'
          Dst:             vli_modInv_update
        - Src:             'deps/micro-ecc/uECC.c:721,13'
          Dst:             uECC_vli_sub
        - Src:             'deps/micro-ecc/uECC.c:722,13'
          Dst:             uECC_vli_rshift1
        - Src:             'deps/micro-ecc/uECC.c:723,17'
          Dst:             uECC_vli_cmp_unsafe
        - Src:             'deps/micro-ecc/uECC.c:724,17'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/uECC.c:726,13'
          Dst:             uECC_vli_sub
        - Src:             'deps/micro-ecc/uECC.c:727,13'
          Dst:             vli_modInv_update
        - Src:             'deps/micro-ecc/uECC.c:729,13'
          Dst:             uECC_vli_sub
        - Src:             'deps/micro-ecc/uECC.c:730,13'
          Dst:             uECC_vli_rshift1
        - Src:             'deps/micro-ecc/uECC.c:731,17'
          Dst:             uECC_vli_cmp_unsafe
        - Src:             'deps/micro-ecc/uECC.c:732,17'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/uECC.c:734,13'
          Dst:             uECC_vli_sub
        - Src:             'deps/micro-ecc/uECC.c:735,13'
          Dst:             vli_modInv_update
        - Src:             'deps/micro-ecc/uECC.c:738,5'
          Dst:             uECC_vli_set
    - functionName:    mod_sqrt_secp224r1_rss
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 478
      functionLinenumberEnd: 487
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          62
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - mod_sqrt_secp224r1_rs
        - uECC_vli_set
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/curve-specific.inc:481,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/curve-specific.inc:482,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/curve-specific.inc:483,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/curve-specific.inc:485,9'
          Dst:             mod_sqrt_secp224r1_rs
    - functionName:    vli_mmod_fast_secp192r1
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 399
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          104
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - uECC_vli_add
        - uECC_vli_cmp_unsafe
        - uECC_vli_set
        - uECC_vli_sub
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/curve-specific.inc:382,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/curve-specific.inc:384,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/curve-specific.inc:385,18'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:390,14'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:394,14'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:396,21'
          Dst:             uECC_vli_cmp_unsafe
        - Src:             'deps/micro-ecc/curve-specific.inc:397,18'
          Dst:             uECC_vli_sub
    - functionName:    omega_mult_secp160r1
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          106
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    vli_mmod_fast_secp160r1
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          73
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - omega_mult_secp160r1
        - uECC_vli_add
        - uECC_vli_clear
        - uECC_vli_cmp_unsafe
        - uECC_vli_sub
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/curve-specific.inc:182,5'
          Dst:             uECC_vli_clear
        - Src:             'deps/micro-ecc/curve-specific.inc:183,5'
          Dst:             uECC_vli_clear
        - Src:             'deps/micro-ecc/curve-specific.inc:185,5'
          Dst:             omega_mult_secp160r1
        - Src:             'deps/micro-ecc/curve-specific.inc:190,5'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:191,5'
          Dst:             uECC_vli_clear
        - Src:             'deps/micro-ecc/curve-specific.inc:193,5'
          Dst:             omega_mult_secp160r1
        - Src:             'deps/micro-ecc/curve-specific.inc:194,5'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/curve-specific.inc:196,12'
          Dst:             uECC_vli_cmp_unsafe
        - Src:             'deps/micro-ecc/curve-specific.inc:197,9'
          Dst:             uECC_vli_sub
    - functionName:    default_RNG
      functionSourceFile: '/src/picotls/deps/micro-ecc/platform-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          90
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - close
        - open
        - read
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/platform-specific.inc:44,14'
          Dst:             open
        - Src:             'deps/micro-ecc/platform-specific.inc:46,14'
          Dst:             open
        - Src:             'deps/micro-ecc/platform-specific.inc:55,30'
          Dst:             read
        - Src:             'deps/micro-ecc/platform-specific.inc:57,13'
          Dst:             close
        - Src:             'deps/micro-ecc/platform-specific.inc:64,5'
          Dst:             close
    - functionName:    uECC_vli_equal
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          54
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    smax
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1485
      functionLinenumberEnd: 1486
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - short
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          29
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    XYcZ_add
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 797
      functionLinenumberEnd: 818
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          115
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uECC_vli_modMult_fast
        - uECC_vli_modSquare_fast
        - uECC_vli_modSub
        - uECC_vli_set
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:802,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:803,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/uECC.c:804,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/uECC.c:805,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/uECC.c:806,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:807,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/uECC.c:809,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:810,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:811,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:812,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/uECC.c:813,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:814,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/uECC.c:815,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:817,5'
          Dst:             uECC_vli_set
    - functionName:    uECC_vli_modMult
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 616
      functionLinenumberEnd: 620
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uECC_vli_mmod
        - uECC_vli_mult
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:618,5'
          Dst:             uECC_vli_mult
        - Src:             'deps/micro-ecc/uECC.c:619,5'
          Dst:             uECC_vli_mmod
    - functionName:    uECC_verify
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1493
      functionLinenumberEnd: 1599
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          478
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - XYcZ_add
        - apply_z
        - bits2int
        - smax
        - uECC_vli_bytesToNative
        - uECC_vli_clear
        - uECC_vli_cmp_unsafe
        - uECC_vli_equal
        - uECC_vli_isZero
        - uECC_vli_modInv
        - uECC_vli_modMult
        - uECC_vli_modMult_fast
        - uECC_vli_modSub
        - uECC_vli_numBits
        - uECC_vli_set
        - uECC_vli_sub
        - uECC_vli_testBit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:1523,5'
          Dst:             uECC_vli_bytesToNative
        - Src:             'deps/micro-ecc/uECC.c:1524,5'
          Dst:             uECC_vli_bytesToNative
        - Src:             'deps/micro-ecc/uECC.c:1526,5'
          Dst:             uECC_vli_bytesToNative
        - Src:             'deps/micro-ecc/uECC.c:1527,5'
          Dst:             uECC_vli_bytesToNative
        - Src:             'deps/micro-ecc/uECC.c:1531,9'
          Dst:             uECC_vli_isZero
        - Src:             'deps/micro-ecc/uECC.c:1531,42'
          Dst:             uECC_vli_isZero
        - Src:             'deps/micro-ecc/uECC.c:1536,9'
          Dst:             uECC_vli_cmp_unsafe
        - Src:             'deps/micro-ecc/uECC.c:1537,13'
          Dst:             uECC_vli_cmp_unsafe
        - Src:             'deps/micro-ecc/uECC.c:1542,5'
          Dst:             uECC_vli_modInv
        - Src:             'deps/micro-ecc/uECC.c:1544,5'
          Dst:             bits2int
        - Src:             'deps/micro-ecc/uECC.c:1545,5'
          Dst:             uECC_vli_modMult
        - Src:             'deps/micro-ecc/uECC.c:1546,5'
          Dst:             uECC_vli_modMult
        - Src:             'deps/micro-ecc/uECC.c:1549,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:1550,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:1551,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:1552,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:1553,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:1554,5'
          Dst:             XYcZ_add
        - Src:             'deps/micro-ecc/uECC.c:1555,5'
          Dst:             uECC_vli_modInv
        - Src:             'deps/micro-ecc/uECC.c:1556,5'
          Dst:             apply_z
        - Src:             'deps/micro-ecc/uECC.c:1563,21'
          Dst:             uECC_vli_numBits
        - Src:             'deps/micro-ecc/uECC.c:1564,21'
          Dst:             uECC_vli_numBits
        - Src:             'deps/micro-ecc/uECC.c:1563,16'
          Dst:             smax
        - Src:             'deps/micro-ecc/uECC.c:1566,23'
          Dst:             uECC_vli_testBit
        - Src:             'deps/micro-ecc/uECC.c:1567,24'
          Dst:             uECC_vli_testBit
        - Src:             'deps/micro-ecc/uECC.c:1568,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:1569,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:1570,5'
          Dst:             uECC_vli_clear
        - Src:             'deps/micro-ecc/uECC.c:1577,20'
          Dst:             uECC_vli_testBit
        - Src:             'deps/micro-ecc/uECC.c:1577,51'
          Dst:             uECC_vli_testBit
        - Src:             'deps/micro-ecc/uECC.c:1580,13'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:1581,13'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:1582,13'
          Dst:             apply_z
        - Src:             'deps/micro-ecc/uECC.c:1583,13'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:1584,13'
          Dst:             XYcZ_add
        - Src:             'deps/micro-ecc/uECC.c:1585,13'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/uECC.c:1589,5'
          Dst:             uECC_vli_modInv
        - Src:             'deps/micro-ecc/uECC.c:1590,5'
          Dst:             apply_z
        - Src:             'deps/micro-ecc/uECC.c:1593,9'
          Dst:             uECC_vli_cmp_unsafe
        - Src:             'deps/micro-ecc/uECC.c:1594,9'
          Dst:             uECC_vli_sub
        - Src:             'deps/micro-ecc/uECC.c:1598,18'
          Dst:             uECC_vli_equal
    - functionName:    uECC_vli_bytesToNative
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1006
      functionLinenumberEnd: 1014
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          67
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - uECC_vli_clear
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:1008,5'
          Dst:             uECC_vli_clear
    - functionName:    bits2int
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1211
      functionLinenumberEnd: 1244
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          144
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - uECC_vli_bytesToNative
        - uECC_vli_clear
        - uECC_vli_cmp_unsafe
        - uECC_vli_sub
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:1222,5'
          Dst:             uECC_vli_clear
        - Src:             'deps/micro-ecc/uECC.c:1226,5'
          Dst:             uECC_vli_bytesToNative
        - Src:             'deps/micro-ecc/uECC.c:1241,9'
          Dst:             uECC_vli_cmp_unsafe
        - Src:             'deps/micro-ecc/uECC.c:1242,9'
          Dst:             uECC_vli_sub
    - functionName:    update_V
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1400
      functionLinenumberEnd: 1404
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - HMAC_finish
        - HMAC_init
        - HMAC_update
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:1401,5'
          Dst:             HMAC_init
        - Src:             'deps/micro-ecc/uECC.c:1402,5'
          Dst:             HMAC_update
        - Src:             'deps/micro-ecc/uECC.c:1403,5'
          Dst:             HMAC_finish
    - functionName:    HMAC_init
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1363
      functionLinenumberEnd: 1373
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          99
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    HMAC_update
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1377
      functionLinenumberEnd: 1379
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    HMAC_finish
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1383
      functionLinenumberEnd: 1397
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          128
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uECC_sign_deterministic
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1417
      functionLinenumberEnd: 1483
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          305
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - HMAC_finish
        - HMAC_init
        - HMAC_update
        - uECC_sign_with_k_internal
        - update_V
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:1431,5'
          Dst:             HMAC_init
        - Src:             'deps/micro-ecc/uECC.c:1433,5'
          Dst:             HMAC_update
        - Src:             'deps/micro-ecc/uECC.c:1434,5'
          Dst:             HMAC_update
        - Src:             'deps/micro-ecc/uECC.c:1435,5'
          Dst:             HMAC_update
        - Src:             'deps/micro-ecc/uECC.c:1436,5'
          Dst:             HMAC_finish
        - Src:             'deps/micro-ecc/uECC.c:1438,5'
          Dst:             update_V
        - Src:             'deps/micro-ecc/uECC.c:1441,5'
          Dst:             HMAC_init
        - Src:             'deps/micro-ecc/uECC.c:1443,5'
          Dst:             HMAC_update
        - Src:             'deps/micro-ecc/uECC.c:1444,5'
          Dst:             HMAC_update
        - Src:             'deps/micro-ecc/uECC.c:1445,5'
          Dst:             HMAC_update
        - Src:             'deps/micro-ecc/uECC.c:1446,5'
          Dst:             HMAC_finish
        - Src:             'deps/micro-ecc/uECC.c:1448,5'
          Dst:             update_V
        - Src:             'deps/micro-ecc/uECC.c:1455,13'
          Dst:             update_V
        - Src:             'deps/micro-ecc/uECC.c:1470,13'
          Dst:             uECC_sign_with_k_internal
        - Src:             'deps/micro-ecc/uECC.c:1475,9'
          Dst:             HMAC_init
        - Src:             'deps/micro-ecc/uECC.c:1477,9'
          Dst:             HMAC_update
        - Src:             'deps/micro-ecc/uECC.c:1478,9'
          Dst:             HMAC_finish
        - Src:             'deps/micro-ecc/uECC.c:1480,9'
          Dst:             update_V
    - functionName:    uECC_sign_with_k_internal
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1251
      functionLinenumberEnd: 1327
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          293
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - EccPoint_mult
        - bits2int
        - regularize_k
        - uECC_generate_random_int
        - uECC_vli_bytesToNative
        - uECC_vli_clear
        - uECC_vli_cmp
        - uECC_vli_isZero
        - uECC_vli_modAdd
        - uECC_vli_modInv
        - uECC_vli_modMult
        - uECC_vli_nativeToBytes
        - uECC_vli_numBits
        - uECC_vli_set
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:1268,9'
          Dst:             uECC_vli_isZero
        - Src:             'deps/micro-ecc/uECC.c:1268,42'
          Dst:             uECC_vli_cmp
        - Src:             'deps/micro-ecc/uECC.c:1272,13'
          Dst:             regularize_k
        - Src:             'deps/micro-ecc/uECC.c:1276,14'
          Dst:             uECC_generate_random_int
        - Src:             'deps/micro-ecc/uECC.c:1281,5'
          Dst:             EccPoint_mult
        - Src:             'deps/micro-ecc/uECC.c:1282,9'
          Dst:             uECC_vli_isZero
        - Src:             'deps/micro-ecc/uECC.c:1289,9'
          Dst:             uECC_vli_clear
        - Src:             'deps/micro-ecc/uECC.c:1291,17'
          Dst:             uECC_generate_random_int
        - Src:             'deps/micro-ecc/uECC.c:1297,5'
          Dst:             uECC_vli_modMult
        - Src:             'deps/micro-ecc/uECC.c:1298,5'
          Dst:             uECC_vli_modInv
        - Src:             'deps/micro-ecc/uECC.c:1299,5'
          Dst:             uECC_vli_modMult
        - Src:             'deps/micro-ecc/uECC.c:1302,5'
          Dst:             uECC_vli_nativeToBytes
        - Src:             'deps/micro-ecc/uECC.c:1308,5'
          Dst:             uECC_vli_bytesToNative
        - Src:             'deps/micro-ecc/uECC.c:1312,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:1313,5'
          Dst:             uECC_vli_modMult
        - Src:             'deps/micro-ecc/uECC.c:1315,5'
          Dst:             bits2int
        - Src:             'deps/micro-ecc/uECC.c:1316,5'
          Dst:             uECC_vli_modAdd
        - Src:             'deps/micro-ecc/uECC.c:1317,5'
          Dst:             uECC_vli_modMult
        - Src:             'deps/micro-ecc/uECC.c:1318,9'
          Dst:             uECC_vli_numBits
        - Src:             'deps/micro-ecc/uECC.c:1324,5'
          Dst:             uECC_vli_nativeToBytes
    - functionName:    uECC_vli_cmp
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 311
      functionLinenumberEnd: 315
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uECC_vli_isZero
        - uECC_vli_sub
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:313,25'
          Dst:             uECC_vli_sub
        - Src:             'deps/micro-ecc/uECC.c:314,25'
          Dst:             uECC_vli_isZero
    - functionName:    regularize_k
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 910
      functionLinenumberEnd: 917
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          85
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - uECC_vli_add
        - uECC_vli_testBit
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:913,25'
          Dst:             uECC_vli_add
        - Src:             'deps/micro-ecc/uECC.c:915,10'
          Dst:             uECC_vli_testBit
        - Src:             'deps/micro-ecc/uECC.c:916,5'
          Dst:             uECC_vli_add
    - functionName:    uECC_generate_random_int
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 924
      functionLinenumberEnd: 944
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          118
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - uECC_vli_cmp
        - uECC_vli_isZero
        - uECC_vli_numBits
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:927,27'
          Dst:             uECC_vli_numBits
        - Src:             'deps/micro-ecc/uECC.c:938,14'
          Dst:             uECC_vli_isZero
        - Src:             'deps/micro-ecc/uECC.c:939,17'
          Dst:             uECC_vli_cmp
    - functionName:    EccPoint_mult
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 867
      functionLinenumberEnd: 905
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          229
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - XYcZ_add
        - XYcZ_addC
        - XYcZ_initial_double
        - apply_z
        - uECC_vli_modInv
        - uECC_vli_modMult_fast
        - uECC_vli_modSub
        - uECC_vli_set
        - uECC_vli_testBit
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:876,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:877,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:879,5'
          Dst:             XYcZ_initial_double
        - Src:             'deps/micro-ecc/uECC.c:882,15'
          Dst:             uECC_vli_testBit
        - Src:             'deps/micro-ecc/uECC.c:883,9'
          Dst:             XYcZ_addC
        - Src:             'deps/micro-ecc/uECC.c:884,9'
          Dst:             XYcZ_add
        - Src:             'deps/micro-ecc/uECC.c:887,11'
          Dst:             uECC_vli_testBit
        - Src:             'deps/micro-ecc/uECC.c:888,5'
          Dst:             XYcZ_addC
        - Src:             'deps/micro-ecc/uECC.c:891,5'
          Dst:             uECC_vli_modSub
        - Src:             'deps/micro-ecc/uECC.c:892,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/uECC.c:893,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/uECC.c:894,5'
          Dst:             uECC_vli_modInv
        - Src:             'deps/micro-ecc/uECC.c:896,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/uECC.c:897,5'
          Dst:             uECC_vli_modMult_fast
        - Src:             'deps/micro-ecc/uECC.c:900,5'
          Dst:             XYcZ_add
        - Src:             'deps/micro-ecc/uECC.c:901,5'
          Dst:             apply_z
        - Src:             'deps/micro-ecc/uECC.c:903,5'
          Dst:             uECC_vli_set
        - Src:             'deps/micro-ecc/uECC.c:904,5'
          Dst:             uECC_vli_set
    - functionName:    uECC_vli_nativeToBytes
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 996
      functionLinenumberEnd: 1002
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          52
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uECC_sign
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1345
      functionLinenumberEnd: 1359
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          79
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - uECC_generate_random_int
        - uECC_sign_with_k_internal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:1350,14'
          Dst:             uECC_generate_random_int
        - Src:             'deps/micro-ecc/uECC.c:1354,13'
          Dst:             uECC_sign_with_k_internal
    - functionName:    uECC_sign_with_k
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1335
      functionLinenumberEnd: 1338
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - bits2int
        - uECC_sign_with_k_internal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:1337,5'
          Dst:             bits2int
        - Src:             'deps/micro-ecc/uECC.c:1338,12'
          Dst:             uECC_sign_with_k_internal
    - functionName:    uECC_compute_public_key
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1170
      functionLinenumberEnd: 1203
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          111
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - EccPoint_compute_public_key
        - uECC_vli_bytesToNative
        - uECC_vli_cmp
        - uECC_vli_isZero
        - uECC_vli_nativeToBytes
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:1180,5'
          Dst:             uECC_vli_bytesToNative
        - Src:             'deps/micro-ecc/uECC.c:1184,9'
          Dst:             uECC_vli_isZero
        - Src:             'deps/micro-ecc/uECC.c:1188,9'
          Dst:             uECC_vli_cmp
        - Src:             'deps/micro-ecc/uECC.c:1193,10'
          Dst:             EccPoint_compute_public_key
        - Src:             'deps/micro-ecc/uECC.c:1198,5'
          Dst:             uECC_vli_nativeToBytes
        - Src:             'deps/micro-ecc/uECC.c:1199,5'
          Dst:             uECC_vli_nativeToBytes
    - functionName:    EccPoint_compute_public_key
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 948
      functionLinenumberEnd: 973
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          111
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - EccPoint_mult
        - regularize_k
        - uECC_generate_random_int
        - uECC_vli_isZero
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:957,13'
          Dst:             regularize_k
        - Src:             'deps/micro-ecc/uECC.c:962,14'
          Dst:             uECC_generate_random_int
        - Src:             'deps/micro-ecc/uECC.c:967,5'
          Dst:             EccPoint_mult
        - Src:             'deps/micro-ecc/uECC.c:969,9'
          Dst:             uECC_vli_isZero
    - functionName:    uECC_valid_point
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1132
      functionLinenumberEnd: 1153
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          101
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - uECC_vli_cmp_unsafe
        - uECC_vli_equal
        - uECC_vli_isZero
        - uECC_vli_modSquare_fast
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:1138,9'
          Dst:             uECC_vli_isZero
        - Src:             'deps/micro-ecc/uECC.c:1143,9'
          Dst:             uECC_vli_cmp_unsafe
        - Src:             'deps/micro-ecc/uECC.c:1144,13'
          Dst:             uECC_vli_cmp_unsafe
        - Src:             'deps/micro-ecc/uECC.c:1148,5'
          Dst:             uECC_vli_modSquare_fast
        - Src:             'deps/micro-ecc/uECC.c:1152,18'
          Dst:             uECC_vli_equal
    - functionName:    uECC_valid_public_key
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1155
      functionLinenumberEnd: 1167
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          45
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uECC_valid_point
        - uECC_vli_bytesToNative
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:1163,5'
          Dst:             uECC_vli_bytesToNative
        - Src:             'deps/micro-ecc/uECC.c:1164,5'
          Dst:             uECC_vli_bytesToNative
        - Src:             'deps/micro-ecc/uECC.c:1167,12'
          Dst:             uECC_valid_point
    - functionName:    uECC_decompress
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1106
      functionLinenumberEnd: 1129
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          102
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - uECC_vli_bytesToNative
        - uECC_vli_nativeToBytes
        - uECC_vli_sub
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:1116,5'
          Dst:             uECC_vli_bytesToNative
        - Src:             'deps/micro-ecc/uECC.c:1122,9'
          Dst:             uECC_vli_sub
        - Src:             'deps/micro-ecc/uECC.c:1126,5'
          Dst:             uECC_vli_nativeToBytes
        - Src:             'deps/micro-ecc/uECC.c:1127,5'
          Dst:             uECC_vli_nativeToBytes
    - functionName:    uECC_compress
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1094
      functionLinenumberEnd: 1104
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          62
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uECC_shared_secret
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1051
      functionLinenumberEnd: 1091
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          145
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - EccPoint_mult
        - regularize_k
        - uECC_generate_random_int
        - uECC_vli_bytesToNative
        - uECC_vli_isZero
        - uECC_vli_nativeToBytes
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:1066,5'
          Dst:             uECC_vli_bytesToNative
        - Src:             'deps/micro-ecc/uECC.c:1067,5'
          Dst:             uECC_vli_bytesToNative
        - Src:             'deps/micro-ecc/uECC.c:1068,5'
          Dst:             uECC_vli_bytesToNative
        - Src:             'deps/micro-ecc/uECC.c:1073,13'
          Dst:             regularize_k
        - Src:             'deps/micro-ecc/uECC.c:1078,14'
          Dst:             uECC_generate_random_int
        - Src:             'deps/micro-ecc/uECC.c:1084,5'
          Dst:             EccPoint_mult
        - Src:             'deps/micro-ecc/uECC.c:1088,5'
          Dst:             uECC_vli_nativeToBytes
        - Src:             'deps/micro-ecc/uECC.c:1090,13'
          Dst:             uECC_vli_isZero
    - functionName:    uECC_make_key
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1020
      functionLinenumberEnd: 1046
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          108
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - EccPoint_compute_public_key
        - uECC_generate_random_int
        - uECC_vli_nativeToBytes
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/micro-ecc/uECC.c:1031,14'
          Dst:             uECC_generate_random_int
        - Src:             'deps/micro-ecc/uECC.c:1035,13'
          Dst:             EccPoint_compute_public_key
        - Src:             'deps/micro-ecc/uECC.c:1037,13'
          Dst:             uECC_vli_nativeToBytes
        - Src:             'deps/micro-ecc/uECC.c:1038,13'
          Dst:             uECC_vli_nativeToBytes
        - Src:             'deps/micro-ecc/uECC.c:1039,13'
          Dst:             uECC_vli_nativeToBytes
    - functionName:    uECC_secp256k1
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 1106
      functionLinenumberEnd: 1106
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uECC_secp256r1
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 771
      functionLinenumberEnd: 771
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uECC_secp224r1
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 449
      functionLinenumberEnd: 449
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uECC_secp192r1
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 314
      functionLinenumberEnd: 314
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uECC_secp160r1
      functionSourceFile: '/src/picotls/deps/micro-ecc/curve-specific.inc'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uECC_curve_public_key_size
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 207
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uECC_curve_private_key_size
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uECC_get_rng
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uECC_set_rng
      functionSourceFile: '/src/picotls/deps/micro-ecc/uECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    inv_mix_column
      functionSourceFile: '/src/picotls/deps/cifra/src/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 351
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          51
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gf_poly_mul2
        - rotr32
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/aes.c:345,17'
          Dst:             gf_poly_mul2
        - Src:             'deps/cifra/src/aes.c:346,17'
          Dst:             gf_poly_mul2
        - Src:             'deps/cifra/src/aes.c:347,21'
          Dst:             gf_poly_mul2
        - Src:             'deps/cifra/src/aes.c:351,25'
          Dst:             rotr32
        - Src:             'deps/cifra/src/aes.c:351,43'
          Dst:             rotr32
        - Src:             'deps/cifra/src/aes.c:351,61'
          Dst:             rotr32
    - functionName:    gf_poly_mul2
      functionSourceFile: '/src/picotls/deps/cifra/src/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rotr32
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mix_column
      functionSourceFile: '/src/picotls/deps/cifra/src/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gf_poly_mul2
        - rotr32
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/aes.c:229,17'
          Dst:             gf_poly_mul2
        - Src:             'deps/cifra/src/aes.c:230,15'
          Dst:             rotr32
        - Src:             'deps/cifra/src/aes.c:230,36'
          Dst:             rotr32
        - Src:             'deps/cifra/src/aes.c:230,52'
          Dst:             rotr32
    - functionName:    mask_u8
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          26
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    select_u8x4
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          150
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - mask_u8
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/bitops.h:225,12'
          Dst:             mask_u8
        - Src:             'deps/cifra/src/bitops.h:226,12'
          Dst:             mask_u8
        - Src:             'deps/cifra/src/bitops.h:227,12'
          Dst:             mask_u8
        - Src:             'deps/cifra/src/bitops.h:228,12'
          Dst:             mask_u8
    - functionName:    rotl32
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sub_word
      functionSourceFile: '/src/picotls/deps/cifra/src/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          55
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - select_u8x4
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/aes.c:96,3'
          Dst:             select_u8x4
    - functionName:    mem_clean
      functionSourceFile: '/src/picotls/deps/cifra/src/ext/handy.h'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_aes_finish
      functionSourceFile: '/src/picotls/deps/cifra/src/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 410
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mem_clean
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/aes.c:411,3'
          Dst:             mem_clean
    - functionName:    inv_mix_columns
      functionSourceFile: '/src/picotls/deps/cifra/src/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 355
      functionLinenumberEnd: 360
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - inv_mix_column
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/aes.c:356,14'
          Dst:             inv_mix_column
        - Src:             'deps/cifra/src/aes.c:357,14'
          Dst:             inv_mix_column
        - Src:             'deps/cifra/src/aes.c:358,14'
          Dst:             inv_mix_column
        - Src:             'deps/cifra/src/aes.c:359,14'
          Dst:             inv_mix_column
    - functionName:    inv_sub_block
      functionSourceFile: '/src/picotls/deps/cifra/src/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 311
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sub_word
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/aes.c:307,14'
          Dst:             sub_word
        - Src:             'deps/cifra/src/aes.c:308,14'
          Dst:             sub_word
        - Src:             'deps/cifra/src/aes.c:309,14'
          Dst:             sub_word
        - Src:             'deps/cifra/src/aes.c:310,14'
          Dst:             sub_word
    - functionName:    inv_shift_rows
      functionSourceFile: '/src/picotls/deps/cifra/src/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 314
      functionLinenumberEnd: 341
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          134
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_aes_decrypt
      functionSourceFile: '/src/picotls/deps/cifra/src/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 365
      functionLinenumberEnd: 399
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          151
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - abort
        - add_round_key
        - inv_mix_columns
        - inv_shift_rows
        - inv_sub_block
        - read32_be
        - write32_be
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/aes.c:366,3'
          Dst:             abort
        - Src:             'deps/cifra/src/aes.c:371,5'
          Dst:             read32_be
        - Src:             'deps/cifra/src/aes.c:372,5'
          Dst:             read32_be
        - Src:             'deps/cifra/src/aes.c:373,5'
          Dst:             read32_be
        - Src:             'deps/cifra/src/aes.c:374,5'
          Dst:             read32_be
        - Src:             'deps/cifra/src/aes.c:378,3'
          Dst:             add_round_key
        - Src:             'deps/cifra/src/aes.c:384,5'
          Dst:             inv_shift_rows
        - Src:             'deps/cifra/src/aes.c:385,5'
          Dst:             inv_sub_block
        - Src:             'deps/cifra/src/aes.c:386,5'
          Dst:             add_round_key
        - Src:             'deps/cifra/src/aes.c:387,5'
          Dst:             inv_mix_columns
        - Src:             'deps/cifra/src/aes.c:391,3'
          Dst:             inv_shift_rows
        - Src:             'deps/cifra/src/aes.c:392,3'
          Dst:             inv_sub_block
        - Src:             'deps/cifra/src/aes.c:393,3'
          Dst:             add_round_key
        - Src:             'deps/cifra/src/aes.c:395,3'
          Dst:             write32_be
        - Src:             'deps/cifra/src/aes.c:396,3'
          Dst:             write32_be
        - Src:             'deps/cifra/src/aes.c:397,3'
          Dst:             write32_be
        - Src:             'deps/cifra/src/aes.c:398,3'
          Dst:             write32_be
    - functionName:    read32_be
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_round_key
      functionSourceFile: '/src/picotls/deps/cifra/src/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    write32_be
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          37
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mix_columns
      functionSourceFile: '/src/picotls/deps/cifra/src/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mix_column
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/aes.c:235,14'
          Dst:             mix_column
        - Src:             'deps/cifra/src/aes.c:236,14'
          Dst:             mix_column
        - Src:             'deps/cifra/src/aes.c:237,14'
          Dst:             mix_column
        - Src:             'deps/cifra/src/aes.c:238,14'
          Dst:             mix_column
    - functionName:    shift_rows
      functionSourceFile: '/src/picotls/deps/cifra/src/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          134
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sub_block
      functionSourceFile: '/src/picotls/deps/cifra/src/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sub_word
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/aes.c:184,14'
          Dst:             sub_word
        - Src:             'deps/cifra/src/aes.c:185,14'
          Dst:             sub_word
        - Src:             'deps/cifra/src/aes.c:186,14'
          Dst:             sub_word
        - Src:             'deps/cifra/src/aes.c:187,14'
          Dst:             sub_word
    - functionName:    cf_aes_encrypt
      functionSourceFile: '/src/picotls/deps/cifra/src/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          145
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - abort
        - add_round_key
        - mix_columns
        - read32_be
        - shift_rows
        - sub_block
        - write32_be
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/aes.c:245,3'
          Dst:             abort
        - Src:             'deps/cifra/src/aes.c:250,5'
          Dst:             read32_be
        - Src:             'deps/cifra/src/aes.c:251,5'
          Dst:             read32_be
        - Src:             'deps/cifra/src/aes.c:252,5'
          Dst:             read32_be
        - Src:             'deps/cifra/src/aes.c:253,5'
          Dst:             read32_be
        - Src:             'deps/cifra/src/aes.c:257,3'
          Dst:             add_round_key
        - Src:             'deps/cifra/src/aes.c:263,5'
          Dst:             sub_block
        - Src:             'deps/cifra/src/aes.c:264,5'
          Dst:             shift_rows
        - Src:             'deps/cifra/src/aes.c:265,5'
          Dst:             mix_columns
        - Src:             'deps/cifra/src/aes.c:266,5'
          Dst:             add_round_key
        - Src:             'deps/cifra/src/aes.c:270,3'
          Dst:             sub_block
        - Src:             'deps/cifra/src/aes.c:271,3'
          Dst:             shift_rows
        - Src:             'deps/cifra/src/aes.c:272,3'
          Dst:             add_round_key
        - Src:             'deps/cifra/src/aes.c:274,3'
          Dst:             write32_be
        - Src:             'deps/cifra/src/aes.c:275,3'
          Dst:             write32_be
        - Src:             'deps/cifra/src/aes.c:276,3'
          Dst:             write32_be
        - Src:             'deps/cifra/src/aes.c:277,3'
          Dst:             write32_be
    - functionName:    aes_schedule
      functionSourceFile: '/src/picotls/deps/cifra/src/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          166
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - read32_be
        - rotl32
        - sub_word
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/aes.c:117,12'
          Dst:             read32_be
        - Src:             'deps/cifra/src/aes.c:134,23'
          Dst:             rotl32
        - Src:             'deps/cifra/src/aes.c:134,14'
          Dst:             sub_word
        - Src:             'deps/cifra/src/aes.c:136,14'
          Dst:             sub_word
    - functionName:    cf_aes_init
      functionSourceFile: '/src/picotls/deps/cifra/src/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          60
      EdgeCount:       14
      CyclomaticComplexity: 8
      functionsReached:
        - abort
        - aes_schedule
      functionUses:    6
      BranchProfiles:
        - Branch String:   'deps/cifra/src/aes.c:146,3'
          Branch Sides:    []
      Callsites:
        - Src:             'deps/cifra/src/aes.c:151,7'
          Dst:             aes_schedule
        - Src:             'deps/cifra/src/aes.c:158,7'
          Dst:             aes_schedule
        - Src:             'deps/cifra/src/aes.c:165,7'
          Dst:             aes_schedule
        - Src:             'deps/cifra/src/aes.c:170,7'
          Dst:             abort
    - functionName:    incr_le
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          40
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_chacha20_next_block
      functionSourceFile: '/src/picotls/deps/cifra/src/chacha20.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          39
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_chacha20_core
        - incr_le
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/chacha20.c:147,3'
          Dst:             cf_chacha20_core
        - Src:             'deps/cifra/src/chacha20.c:152,3'
          Dst:             incr_le
    - functionName:    cf_chacha20_core
      functionSourceFile: '/src/picotls/deps/cifra/src/chacha20.c'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          567
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - read32_le
        - rotl32
        - write32_le
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/chacha20.c:32,22'
          Dst:             read32_le
        - Src:             'deps/cifra/src/chacha20.c:33,22'
          Dst:             read32_le
        - Src:             'deps/cifra/src/chacha20.c:34,22'
          Dst:             read32_le
        - Src:             'deps/cifra/src/chacha20.c:35,22'
          Dst:             read32_le
        - Src:             'deps/cifra/src/chacha20.c:36,22'
          Dst:             read32_le
        - Src:             'deps/cifra/src/chacha20.c:37,22'
          Dst:             read32_le
        - Src:             'deps/cifra/src/chacha20.c:38,22'
          Dst:             read32_le
        - Src:             'deps/cifra/src/chacha20.c:39,22'
          Dst:             read32_le
        - Src:             'deps/cifra/src/chacha20.c:40,22'
          Dst:             read32_le
        - Src:             'deps/cifra/src/chacha20.c:41,22'
          Dst:             read32_le
        - Src:             'deps/cifra/src/chacha20.c:42,22'
          Dst:             read32_le
        - Src:             'deps/cifra/src/chacha20.c:43,22'
          Dst:             read32_le
        - Src:             'deps/cifra/src/chacha20.c:44,22'
          Dst:             read32_le
        - Src:             'deps/cifra/src/chacha20.c:45,22'
          Dst:             read32_le
        - Src:             'deps/cifra/src/chacha20.c:46,22'
          Dst:             read32_le
        - Src:             'deps/cifra/src/chacha20.c:47,22'
          Dst:             read32_le
        - Src:             'deps/cifra/src/chacha20.c:58,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:58,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:58,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:58,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:59,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:59,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:59,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:59,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:60,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:60,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:60,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:60,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:61,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:61,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:61,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:61,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:62,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:62,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:62,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:62,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:63,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:63,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:63,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:63,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:64,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:64,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:64,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:64,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:65,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:65,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:65,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:65,5'
          Dst:             rotl32
        - Src:             'deps/cifra/src/chacha20.c:85,3'
          Dst:             write32_le
        - Src:             'deps/cifra/src/chacha20.c:86,3'
          Dst:             write32_le
        - Src:             'deps/cifra/src/chacha20.c:87,3'
          Dst:             write32_le
        - Src:             'deps/cifra/src/chacha20.c:88,3'
          Dst:             write32_le
        - Src:             'deps/cifra/src/chacha20.c:89,3'
          Dst:             write32_le
        - Src:             'deps/cifra/src/chacha20.c:90,3'
          Dst:             write32_le
        - Src:             'deps/cifra/src/chacha20.c:91,3'
          Dst:             write32_le
        - Src:             'deps/cifra/src/chacha20.c:92,3'
          Dst:             write32_le
        - Src:             'deps/cifra/src/chacha20.c:93,3'
          Dst:             write32_le
        - Src:             'deps/cifra/src/chacha20.c:94,3'
          Dst:             write32_le
        - Src:             'deps/cifra/src/chacha20.c:95,3'
          Dst:             write32_le
        - Src:             'deps/cifra/src/chacha20.c:96,3'
          Dst:             write32_le
        - Src:             'deps/cifra/src/chacha20.c:97,3'
          Dst:             write32_le
        - Src:             'deps/cifra/src/chacha20.c:98,3'
          Dst:             write32_le
        - Src:             'deps/cifra/src/chacha20.c:99,3'
          Dst:             write32_le
        - Src:             'deps/cifra/src/chacha20.c:100,3'
          Dst:             write32_le
    - functionName:    read32_le
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rotl32
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    32
      BranchProfiles:  []
      Callsites:       []
    - functionName:    write32_le
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          37
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_chacha20_cipher
      functionSourceFile: '/src/picotls/deps/cifra/src/chacha20.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_blockwise_xor
        - cf_chacha20_next_block
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/chacha20.c:157,3'
          Dst:             cf_blockwise_xor
        - Src:             'deps/cifra/src/chacha20.c:157,3'
          Dst:             cf_chacha20_next_block
    - functionName:    cf_chacha20_init_custom
      functionSourceFile: '/src/picotls/deps/cifra/src/chacha20.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - abort
        - set_key
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/chacha20.c:137,3'
          Dst:             abort
        - Src:             'deps/cifra/src/chacha20.c:138,3'
          Dst:             set_key
    - functionName:    set_key
      functionSourceFile: '/src/picotls/deps/cifra/src/chacha20.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          62
      EdgeCount:       12
      CyclomaticComplexity: 7
      functionsReached:
        - abort
      functionUses:    2
      BranchProfiles:
        - Branch String:   'deps/cifra/src/chacha20.c:108,3'
          Branch Sides:    []
      Callsites:
        - Src:             'deps/cifra/src/chacha20.c:121,7'
          Dst:             abort
    - functionName:    cf_chacha20_init
      functionSourceFile: '/src/picotls/deps/cifra/src/chacha20.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          39
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - set_key
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/chacha20.c:127,3'
          Dst:             set_key
    - functionName:    add
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          110
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - abort
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/drbg.c:98,3'
          Dst:             abort
    - functionName:    hash_step
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          80
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - add
        - write32_be
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/drbg.c:180,3'
          Dst:             write32_be
        - Src:             'deps/cifra/src/drbg.c:182,3'
          Dst:             add
        - Src:             'deps/cifra/src/drbg.c:183,3'
          Dst:             add
        - Src:             'deps/cifra/src/drbg.c:184,3'
          Dst:             add
    - functionName:    write32_be
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          37
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    hash_generate
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          95
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/drbg.c:159,5'
          Dst:             add
    - functionName:    hash_process_addnl
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          79
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/drbg.c:133,3'
          Dst:             add
    - functionName:    cf_hmac_drbg_reseed
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 427
      functionLinenumberEnd: 434
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - hmac_drbg_update
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/drbg.c:430,3'
          Dst:             hmac_drbg_update
    - functionName:    hmac_drbg_update
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 321
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          158
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - cf_hmac_finish
        - cf_hmac_init
        - cf_hmac_update
        - mem_clean
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/drbg.c:287,3'
          Dst:             cf_hmac_update
        - Src:             'deps/cifra/src/drbg.c:288,3'
          Dst:             cf_hmac_update
        - Src:             'deps/cifra/src/drbg.c:289,3'
          Dst:             cf_hmac_update
        - Src:             'deps/cifra/src/drbg.c:290,3'
          Dst:             cf_hmac_update
        - Src:             'deps/cifra/src/drbg.c:291,3'
          Dst:             cf_hmac_update
        - Src:             'deps/cifra/src/drbg.c:292,3'
          Dst:             cf_hmac_finish
        - Src:             'deps/cifra/src/drbg.c:293,3'
          Dst:             cf_hmac_init
        - Src:             'deps/cifra/src/drbg.c:294,3'
          Dst:             mem_clean
        - Src:             'deps/cifra/src/drbg.c:298,3'
          Dst:             cf_hmac_update
        - Src:             'deps/cifra/src/drbg.c:299,3'
          Dst:             cf_hmac_finish
        - Src:             'deps/cifra/src/drbg.c:308,3'
          Dst:             cf_hmac_update
        - Src:             'deps/cifra/src/drbg.c:309,3'
          Dst:             cf_hmac_update
        - Src:             'deps/cifra/src/drbg.c:310,3'
          Dst:             cf_hmac_update
        - Src:             'deps/cifra/src/drbg.c:311,3'
          Dst:             cf_hmac_update
        - Src:             'deps/cifra/src/drbg.c:312,3'
          Dst:             cf_hmac_update
        - Src:             'deps/cifra/src/drbg.c:313,3'
          Dst:             cf_hmac_finish
        - Src:             'deps/cifra/src/drbg.c:314,3'
          Dst:             cf_hmac_init
        - Src:             'deps/cifra/src/drbg.c:315,3'
          Dst:             mem_clean
        - Src:             'deps/cifra/src/drbg.c:319,3'
          Dst:             cf_hmac_update
        - Src:             'deps/cifra/src/drbg.c:320,3'
          Dst:             cf_hmac_finish
    - functionName:    mem_clean
      functionSourceFile: '/src/picotls/deps/cifra/src/ext/handy.h'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_hmac_drbg_gen
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 418
      functionLinenumberEnd: 422
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_hmac_drbg_gen_additional
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/drbg.c:419,3'
          Dst:             cf_hmac_drbg_gen_additional
    - functionName:    cf_hmac_drbg_gen_additional
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 401
      functionLinenumberEnd: 415
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - hmac_drbg_generate
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/drbg.c:407,5'
          Dst:             hmac_drbg_generate
    - functionName:    hmac_drbg_generate
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 356
      functionLinenumberEnd: 396
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          130
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - abort
        - cf_hmac_drbg_needs_reseed
        - cf_hmac_finish
        - cf_hmac_update
        - hmac_drbg_update
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/drbg.c:359,3'
          Dst:             cf_hmac_drbg_needs_reseed
        - Src:             'deps/cifra/src/drbg.c:359,3'
          Dst:             abort
        - Src:             'deps/cifra/src/drbg.c:365,5'
          Dst:             hmac_drbg_update
        - Src:             'deps/cifra/src/drbg.c:382,5'
          Dst:             cf_hmac_update
        - Src:             'deps/cifra/src/drbg.c:383,5'
          Dst:             cf_hmac_finish
        - Src:             'deps/cifra/src/drbg.c:392,3'
          Dst:             hmac_drbg_update
    - functionName:    cf_hmac_drbg_needs_reseed
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 350
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_hmac_drbg_init
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 328
      functionLinenumberEnd: 346
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          77
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - abort
        - cf_hmac_init
        - hmac_drbg_update
        - mem_clean
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/drbg.c:329,3'
          Dst:             mem_clean
        - Src:             'deps/cifra/src/drbg.c:331,3'
          Dst:             abort
        - Src:             'deps/cifra/src/drbg.c:338,3'
          Dst:             cf_hmac_init
        - Src:             'deps/cifra/src/drbg.c:342,3'
          Dst:             hmac_drbg_update
    - functionName:    cf_hash_drbg_sha256_needs_reseed
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 268
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_hash_drbg_sha256_reseed
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          53
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - hash_df
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/drbg.c:245,3'
          Dst:             hash_df
        - Src:             'deps/cifra/src/drbg.c:254,3'
          Dst:             hash_df
    - functionName:    hash_df
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      void
      argCount:        11
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          152
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - write32_be
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/drbg.c:37,3'
          Dst:             write32_be
    - functionName:    cf_hash_drbg_sha256_gen
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_hash_drbg_sha256_gen_additional
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/drbg.c:230,3'
          Dst:             cf_hash_drbg_sha256_gen_additional
    - functionName:    cf_hash_drbg_sha256_gen_additional
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - hash_gen_request
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/drbg.c:217,5'
          Dst:             hash_gen_request
    - functionName:    hash_gen_request
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 205
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          63
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - abort
        - cf_hash_drbg_sha256_needs_reseed
        - hash_generate
        - hash_process_addnl
        - hash_step
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/drbg.c:198,3'
          Dst:             cf_hash_drbg_sha256_needs_reseed
        - Src:             'deps/cifra/src/drbg.c:198,3'
          Dst:             abort
        - Src:             'deps/cifra/src/drbg.c:200,3'
          Dst:             hash_process_addnl
        - Src:             'deps/cifra/src/drbg.c:203,3'
          Dst:             hash_generate
        - Src:             'deps/cifra/src/drbg.c:204,3'
          Dst:             hash_step
    - functionName:    cf_hash_drbg_sha256_init
      functionSourceFile: '/src/picotls/deps/cifra/src/drbg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          49
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - hash_df
        - mem_clean
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/drbg.c:68,3'
          Dst:             mem_clean
        - Src:             'deps/cifra/src/drbg.c:73,3'
          Dst:             hash_df
        - Src:             'deps/cifra/src/drbg.c:82,3'
          Dst:             hash_df
    - functionName:    cf_hmac
      functionSourceFile: '/src/picotls/deps/cifra/src/hmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - abort
        - cf_hmac_finish
        - cf_hmac_init
        - cf_hmac_update
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/hmac.c:99,3'
          Dst:             abort
        - Src:             'deps/cifra/src/hmac.c:100,3'
          Dst:             abort
        - Src:             'deps/cifra/src/hmac.c:102,3'
          Dst:             cf_hmac_init
        - Src:             'deps/cifra/src/hmac.c:103,3'
          Dst:             cf_hmac_update
        - Src:             'deps/cifra/src/hmac.c:104,3'
          Dst:             cf_hmac_finish
    - functionName:    cf_hmac_init
      functionSourceFile: '/src/picotls/deps/cifra/src/hmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 26
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          185
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - abort
        - cf_hash
        - mem_clean
        - xor_b8
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/hmac.c:27,3'
          Dst:             abort
        - Src:             'deps/cifra/src/hmac.c:28,3'
          Dst:             abort
        - Src:             'deps/cifra/src/hmac.c:30,3'
          Dst:             mem_clean
        - Src:             'deps/cifra/src/hmac.c:42,5'
          Dst:             abort
        - Src:             'deps/cifra/src/hmac.c:44,5'
          Dst:             cf_hash
        - Src:             'deps/cifra/src/hmac.c:58,3'
          Dst:             xor_b8
        - Src:             'deps/cifra/src/hmac.c:63,3'
          Dst:             xor_b8
        - Src:             'deps/cifra/src/hmac.c:67,3'
          Dst:             mem_clean
        - Src:             'deps/cifra/src/hmac.c:68,3'
          Dst:             mem_clean
    - functionName:    cf_hmac_update
      functionSourceFile: '/src/picotls/deps/cifra/src/hmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - abort
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/hmac.c:73,3'
          Dst:             abort
    - functionName:    cf_hmac_finish
      functionSourceFile: '/src/picotls/deps/cifra/src/hmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          89
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - abort
        - mem_clean
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/hmac.c:80,3'
          Dst:             abort
        - Src:             'deps/cifra/src/hmac.c:81,3'
          Dst:             abort
        - Src:             'deps/cifra/src/hmac.c:89,3'
          Dst:             mem_clean
    - functionName:    mem_clean
      functionSourceFile: '/src/picotls/deps/cifra/src/ext/handy.h'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    xor_b8
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          44
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    write64_be
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          69
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ghash_block
      functionSourceFile: '/src/picotls/deps/cifra/src/gcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          40
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_gf128_add
        - cf_gf128_frombytes_be
        - cf_gf128_mul
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/gcm.c:40,3'
          Dst:             cf_gf128_frombytes_be
        - Src:             'deps/cifra/src/gcm.c:41,3'
          Dst:             cf_gf128_add
        - Src:             'deps/cifra/src/gcm.c:42,3'
          Dst:             cf_gf128_mul
    - functionName:    ghash_add
      functionSourceFile: '/src/picotls/deps/cifra/src/gcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_blockwise_accumulate
        - ghash_block
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/gcm.c:47,3'
          Dst:             cf_blockwise_accumulate
        - Src:             'deps/cifra/src/gcm.c:47,3'
          Dst:             ghash_block
    - functionName:    ghash_add_pad
      functionSourceFile: '/src/picotls/deps/cifra/src/gcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ghash_block
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/gcm.c:60,3'
          Dst:             ghash_block
    - functionName:    mem_eq
      functionSourceFile: '/src/picotls/deps/cifra/src/ext/handy.h'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          52
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_gcm_decrypt
      functionSourceFile: '/src/picotls/deps/cifra/src/gcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      int
      argCount:        11
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          158
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - abort
        - cf_ctr_cipher
        - cf_ctr_custom_counter
        - cf_ctr_init
        - ghash_add_aad
        - ghash_add_cipher
        - ghash_final
        - ghash_init
        - mem_clean
        - mem_eq
        - xor_bb
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/gcm.c:207,5'
          Dst:             ghash_init
        - Src:             'deps/cifra/src/gcm.c:208,5'
          Dst:             ghash_add_cipher
        - Src:             'deps/cifra/src/gcm.c:209,5'
          Dst:             ghash_final
        - Src:             'deps/cifra/src/gcm.c:214,3'
          Dst:             ghash_init
        - Src:             'deps/cifra/src/gcm.c:215,3'
          Dst:             ghash_add_aad
        - Src:             'deps/cifra/src/gcm.c:220,3'
          Dst:             cf_ctr_init
        - Src:             'deps/cifra/src/gcm.c:221,3'
          Dst:             cf_ctr_custom_counter
        - Src:             'deps/cifra/src/gcm.c:222,3'
          Dst:             cf_ctr_cipher
        - Src:             'deps/cifra/src/gcm.c:225,3'
          Dst:             ghash_add_cipher
        - Src:             'deps/cifra/src/gcm.c:229,3'
          Dst:             ghash_final
        - Src:             'deps/cifra/src/gcm.c:230,3'
          Dst:             abort
        - Src:             'deps/cifra/src/gcm.c:231,3'
          Dst:             xor_bb
        - Src:             'deps/cifra/src/gcm.c:234,8'
          Dst:             mem_eq
        - Src:             'deps/cifra/src/gcm.c:238,3'
          Dst:             cf_ctr_cipher
        - Src:             'deps/cifra/src/gcm.c:242,3'
          Dst:             mem_clean
        - Src:             'deps/cifra/src/gcm.c:243,3'
          Dst:             mem_clean
        - Src:             'deps/cifra/src/gcm.c:244,3'
          Dst:             mem_clean
        - Src:             'deps/cifra/src/gcm.c:245,3'
          Dst:             mem_clean
        - Src:             'deps/cifra/src/gcm.c:246,3'
          Dst:             mem_clean
        - Src:             'deps/cifra/src/gcm.c:247,3'
          Dst:             mem_clean
    - functionName:    ghash_init
      functionSourceFile: '/src/picotls/deps/cifra/src/gcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 34
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_gf128_frombytes_be
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/gcm.c:32,3'
          Dst:             cf_gf128_frombytes_be
    - functionName:    ghash_add_cipher
      functionSourceFile: '/src/picotls/deps/cifra/src/gcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          62
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - abort
        - ghash_add
        - ghash_add_pad
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/gcm.c:75,5'
          Dst:             ghash_add_pad
        - Src:             'deps/cifra/src/gcm.c:79,3'
          Dst:             abort
        - Src:             'deps/cifra/src/gcm.c:81,3'
          Dst:             ghash_add
    - functionName:    ghash_final
      functionSourceFile: '/src/picotls/deps/cifra/src/gcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          85
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - abort
        - cf_gf128_tobytes_be
        - ghash_add
        - ghash_add_pad
        - write64_be
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/gcm.c:90,5'
          Dst:             ghash_add_pad
        - Src:             'deps/cifra/src/gcm.c:95,3'
          Dst:             write64_be
        - Src:             'deps/cifra/src/gcm.c:96,3'
          Dst:             ghash_add
        - Src:             'deps/cifra/src/gcm.c:98,3'
          Dst:             write64_be
        - Src:             'deps/cifra/src/gcm.c:99,3'
          Dst:             ghash_add
        - Src:             'deps/cifra/src/gcm.c:101,3'
          Dst:             abort
        - Src:             'deps/cifra/src/gcm.c:102,3'
          Dst:             cf_gf128_tobytes_be
    - functionName:    ghash_add_aad
      functionSourceFile: '/src/picotls/deps/cifra/src/gcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - abort
        - ghash_add
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/gcm.c:66,3'
          Dst:             abort
        - Src:             'deps/cifra/src/gcm.c:68,3'
          Dst:             ghash_add
    - functionName:    xor_bb
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          47
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mem_clean
      functionSourceFile: '/src/picotls/deps/cifra/src/ext/handy.h'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_gcm_encrypt
      functionSourceFile: '/src/picotls/deps/cifra/src/gcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 177
      functionDepth:   0
      returnType:      void
      argCount:        11
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          48
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_gcm_encrypt_final
        - cf_gcm_encrypt_init
        - cf_gcm_encrypt_update
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/gcm.c:174,3'
          Dst:             cf_gcm_encrypt_init
        - Src:             'deps/cifra/src/gcm.c:175,3'
          Dst:             cf_gcm_encrypt_update
        - Src:             'deps/cifra/src/gcm.c:176,3'
          Dst:             cf_gcm_encrypt_final
    - functionName:    cf_gcm_encrypt_init
      functionSourceFile: '/src/picotls/deps/cifra/src/gcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          120
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cf_ctr_cipher
        - cf_ctr_custom_counter
        - cf_ctr_init
        - ghash_add_aad
        - ghash_add_cipher
        - ghash_final
        - ghash_init
        - mem_clean
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/gcm.c:128,5'
          Dst:             ghash_init
        - Src:             'deps/cifra/src/gcm.c:129,5'
          Dst:             ghash_add_cipher
        - Src:             'deps/cifra/src/gcm.c:130,5'
          Dst:             ghash_final
        - Src:             'deps/cifra/src/gcm.c:134,3'
          Dst:             ghash_init
        - Src:             'deps/cifra/src/gcm.c:135,3'
          Dst:             ghash_add_aad
        - Src:             'deps/cifra/src/gcm.c:139,3'
          Dst:             cf_ctr_init
        - Src:             'deps/cifra/src/gcm.c:140,3'
          Dst:             cf_ctr_custom_counter
        - Src:             'deps/cifra/src/gcm.c:141,3'
          Dst:             cf_ctr_cipher
        - Src:             'deps/cifra/src/gcm.c:143,3'
          Dst:             mem_clean
    - functionName:    cf_gcm_encrypt_update
      functionSourceFile: '/src/picotls/deps/cifra/src/gcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_ctr_cipher
        - ghash_add_cipher
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/gcm.c:148,3'
          Dst:             cf_ctr_cipher
        - Src:             'deps/cifra/src/gcm.c:149,3'
          Dst:             ghash_add_cipher
    - functionName:    cf_gcm_encrypt_final
      functionSourceFile: '/src/picotls/deps/cifra/src/gcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - abort
        - ghash_final
        - mem_clean
        - xor_bb
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/gcm.c:156,3'
          Dst:             ghash_final
        - Src:             'deps/cifra/src/gcm.c:158,3'
          Dst:             abort
        - Src:             'deps/cifra/src/gcm.c:159,3'
          Dst:             xor_bb
        - Src:             'deps/cifra/src/gcm.c:161,3'
          Dst:             mem_clean
        - Src:             'deps/cifra/src/gcm.c:162,3'
          Dst:             mem_clean
    - functionName:    mask_u32
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          23
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mask_u8
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          26
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    select_xor128
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 242
      functionLinenumberEnd: 250
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          92
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mask_u32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/bitops.h:243,20'
          Dst:             mask_u32
    - functionName:    cf_gf128_mul
      functionSourceFile: '/src/picotls/deps/cifra/src/gf128.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          72
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - cf_gf128_double_le
        - select_xor128
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/gf128.c:104,5'
          Dst:             select_xor128
        - Src:             'deps/cifra/src/gf128.c:110,5'
          Dst:             cf_gf128_double_le
    - functionName:    cf_gf128_double_le
      functionSourceFile: '/src/picotls/deps/cifra/src/gf128.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          90
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - select_u8
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/gf128.c:69,23'
          Dst:             select_u8
    - functionName:    select_u8
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          62
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - mask_u8
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/bitops.h:202,20'
          Dst:             mask_u8
    - functionName:    cf_gf128_add
      functionSourceFile: '/src/picotls/deps/cifra/src/gf128.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          50
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_gf128_double
      functionSourceFile: '/src/picotls/deps/cifra/src/gf128.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          85
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - select_u8
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/gf128.c:50,13'
          Dst:             select_u8
    - functionName:    read32_be
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_gf128_frombytes_be
      functionSourceFile: '/src/picotls/deps/cifra/src/gf128.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          39
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - read32_be
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/gf128.c:31,12'
          Dst:             read32_be
        - Src:             'deps/cifra/src/gf128.c:32,12'
          Dst:             read32_be
        - Src:             'deps/cifra/src/gf128.c:33,12'
          Dst:             read32_be
        - Src:             'deps/cifra/src/gf128.c:34,12'
          Dst:             read32_be
    - functionName:    write32_be
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          37
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_gf128_tobytes_be
      functionSourceFile: '/src/picotls/deps/cifra/src/gf128.c'
      linkageType:     InternalLinkage
      functionLinenumber: 22
      functionLinenumberEnd: 27
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          39
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - write32_be
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/gf128.c:23,3'
          Dst:             write32_be
        - Src:             'deps/cifra/src/gf128.c:24,3'
          Dst:             write32_be
        - Src:             'deps/cifra/src/gf128.c:25,3'
          Dst:             write32_be
        - Src:             'deps/cifra/src/gf128.c:26,3'
          Dst:             write32_be
    - functionName:    incr_be
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 280
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          40
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_ctr_discard_block
      functionSourceFile: '/src/picotls/deps/cifra/src/modes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ctr_next_block
      functionSourceFile: '/src/picotls/deps/cifra/src/modes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          44
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - incr_be
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/modes.c:84,3'
          Dst:             incr_be
    - functionName:    cf_ctr_cipher
      functionSourceFile: '/src/picotls/deps/cifra/src/modes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_blockwise_xor
        - ctr_next_block
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/modes.c:89,3'
          Dst:             cf_blockwise_xor
        - Src:             'deps/cifra/src/modes.c:89,3'
          Dst:             ctr_next_block
    - functionName:    cf_ctr_custom_counter
      functionSourceFile: '/src/picotls/deps/cifra/src/modes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - abort
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/modes.c:75,3'
          Dst:             abort
    - functionName:    cf_ctr_init
      functionSourceFile: '/src/picotls/deps/cifra/src/modes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          42
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_cbc_decrypt
      functionSourceFile: '/src/picotls/deps/cifra/src/modes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          74
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - xor_bb
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/modes.c:54,5'
          Dst:             xor_bb
    - functionName:    xor_bb
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          47
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_cbc_encrypt
      functionSourceFile: '/src/picotls/deps/cifra/src/modes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          76
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - xor_bb
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/modes.c:38,5'
          Dst:             xor_bb
    - functionName:    cf_cbc_init
      functionSourceFile: '/src/picotls/deps/cifra/src/modes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 29
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mask_u32
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          23
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    poly1305_min_reduce
      functionSourceFile: '/src/picotls/deps/cifra/src/poly1305.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          97
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    poly1305_mul
      functionSourceFile: '/src/picotls/deps/cifra/src/poly1305.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          132
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - poly1305_min_reduce
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/poly1305.c:151,3'
          Dst:             poly1305_min_reduce
    - functionName:    poly1305_block
      functionSourceFile: '/src/picotls/deps/cifra/src/poly1305.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - poly1305_add
        - poly1305_mul
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/poly1305.c:160,3'
          Dst:             poly1305_add
        - Src:             'deps/cifra/src/poly1305.c:161,3'
          Dst:             poly1305_mul
    - functionName:    poly1305_add
      functionSourceFile: '/src/picotls/deps/cifra/src/poly1305.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          52
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mem_clean
      functionSourceFile: '/src/picotls/deps/cifra/src/ext/handy.h'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    poly1305_full_reduce
      functionSourceFile: '/src/picotls/deps/cifra/src/poly1305.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          81
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - mask_u32
        - poly1305_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/poly1305.c:109,3'
          Dst:             poly1305_add
        - Src:             'deps/cifra/src/poly1305.c:114,28'
          Dst:             mask_u32
    - functionName:    poly1305_last_block
      functionSourceFile: '/src/picotls/deps/cifra/src/poly1305.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          53
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - poly1305_block
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/poly1305.c:187,3'
          Dst:             poly1305_block
    - functionName:    cf_poly1305_finish
      functionSourceFile: '/src/picotls/deps/cifra/src/poly1305.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 220
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          96
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - mem_clean
        - poly1305_add
        - poly1305_full_reduce
        - poly1305_last_block
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/poly1305.c:205,5'
          Dst:             poly1305_last_block
        - Src:             'deps/cifra/src/poly1305.c:213,3'
          Dst:             poly1305_full_reduce
        - Src:             'deps/cifra/src/poly1305.c:214,3'
          Dst:             poly1305_add
        - Src:             'deps/cifra/src/poly1305.c:219,3'
          Dst:             mem_clean
    - functionName:    poly1305_whole_block
      functionSourceFile: '/src/picotls/deps/cifra/src/poly1305.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 176
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          52
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - poly1305_block
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/poly1305.c:175,3'
          Dst:             poly1305_block
    - functionName:    cf_poly1305_update
      functionSourceFile: '/src/picotls/deps/cifra/src/poly1305.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_blockwise_accumulate
        - poly1305_whole_block
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/poly1305.c:194,3'
          Dst:             cf_blockwise_accumulate
        - Src:             'deps/cifra/src/poly1305.c:194,3'
          Dst:             poly1305_whole_block
    - functionName:    cf_poly1305_init
      functionSourceFile: '/src/picotls/deps/cifra/src/poly1305.c'
      linkageType:     InternalLinkage
      functionLinenumber: 26
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          156
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rotr32
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    read32_be
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_sha224_digest_final
      functionSourceFile: '/src/picotls/deps/cifra/src/sha256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_sha256_digest_final
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/sha256.c:213,3'
          Dst:             cf_sha256_digest_final
    - functionName:    cf_sha256_digest_final
      functionSourceFile: '/src/picotls/deps/cifra/src/sha256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          127
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - abort
        - cf_blockwise_acc_pad
        - cf_sha256_update
        - sha256_update_block
        - write32_be
        - write64_be
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/sha256.c:179,3'
          Dst:             cf_blockwise_acc_pad
        - Src:             'deps/cifra/src/sha256.c:179,3'
          Dst:             sha256_update_block
        - Src:             'deps/cifra/src/sha256.c:185,3'
          Dst:             write64_be
        - Src:             'deps/cifra/src/sha256.c:186,3'
          Dst:             cf_sha256_update
        - Src:             'deps/cifra/src/sha256.c:189,3'
          Dst:             abort
        - Src:             'deps/cifra/src/sha256.c:191,3'
          Dst:             write32_be
        - Src:             'deps/cifra/src/sha256.c:192,3'
          Dst:             write32_be
        - Src:             'deps/cifra/src/sha256.c:193,3'
          Dst:             write32_be
        - Src:             'deps/cifra/src/sha256.c:194,3'
          Dst:             write32_be
        - Src:             'deps/cifra/src/sha256.c:195,3'
          Dst:             write32_be
        - Src:             'deps/cifra/src/sha256.c:196,3'
          Dst:             write32_be
        - Src:             'deps/cifra/src/sha256.c:197,3'
          Dst:             write32_be
        - Src:             'deps/cifra/src/sha256.c:198,3'
          Dst:             write32_be
    - functionName:    sha256_update_block
      functionSourceFile: '/src/picotls/deps/cifra/src/sha256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          296
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - read32_be
        - rotr32
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/sha256.c:104,19'
          Dst:             read32_be
        - Src:             'deps/cifra/src/sha256.c:107,12'
          Dst:             rotr32
        - Src:             'deps/cifra/src/sha256.c:107,12'
          Dst:             rotr32
        - Src:             'deps/cifra/src/sha256.c:109,12'
          Dst:             rotr32
        - Src:             'deps/cifra/src/sha256.c:109,12'
          Dst:             rotr32
        - Src:             'deps/cifra/src/sha256.c:114,23'
          Dst:             rotr32
        - Src:             'deps/cifra/src/sha256.c:114,23'
          Dst:             rotr32
        - Src:             'deps/cifra/src/sha256.c:114,23'
          Dst:             rotr32
        - Src:             'deps/cifra/src/sha256.c:115,19'
          Dst:             rotr32
        - Src:             'deps/cifra/src/sha256.c:115,19'
          Dst:             rotr32
        - Src:             'deps/cifra/src/sha256.c:115,19'
          Dst:             rotr32
    - functionName:    write64_be
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          69
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_sha256_update
      functionSourceFile: '/src/picotls/deps/cifra/src/sha256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_blockwise_accumulate
        - sha256_update_block
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/sha256.c:140,3'
          Dst:             cf_blockwise_accumulate
        - Src:             'deps/cifra/src/sha256.c:140,3'
          Dst:             sha256_update_block
    - functionName:    write32_be
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          37
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_sha224_digest
      functionSourceFile: '/src/picotls/deps/cifra/src/sha256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_sha256_digest
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/sha256.c:206,3'
          Dst:             cf_sha256_digest
    - functionName:    cf_sha256_digest
      functionSourceFile: '/src/picotls/deps/cifra/src/sha256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_sha256_digest_final
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/sha256.c:167,3'
          Dst:             cf_sha256_digest_final
    - functionName:    cf_sha224_update
      functionSourceFile: '/src/picotls/deps/cifra/src/sha256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_sha256_update
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/sha256.c:147,3'
          Dst:             cf_sha256_update
    - functionName:    cf_sha224_init
      functionSourceFile: '/src/picotls/deps/cifra/src/sha256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_sha256_init
      functionSourceFile: '/src/picotls/deps/cifra/src/sha256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    read32_be
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rotr64
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    read64_be
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - read32_be
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/bitops.h:76,17'
          Dst:             read32_be
        - Src:             'deps/cifra/src/bitops.h:77,17'
          Dst:             read32_be
    - functionName:    cf_sha384_digest_final
      functionSourceFile: '/src/picotls/deps/cifra/src/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_sha512_digest_final
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/sha512.c:230,3'
          Dst:             cf_sha512_digest_final
    - functionName:    cf_sha512_digest_final
      functionSourceFile: '/src/picotls/deps/cifra/src/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          132
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - abort
        - cf_blockwise_acc_pad
        - cf_sha512_update
        - sha512_update_block
        - write64_be
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/sha512.c:195,3'
          Dst:             cf_blockwise_acc_pad
        - Src:             'deps/cifra/src/sha512.c:195,3'
          Dst:             sha512_update_block
        - Src:             'deps/cifra/src/sha512.c:201,3'
          Dst:             write64_be
        - Src:             'deps/cifra/src/sha512.c:202,3'
          Dst:             cf_sha512_update
        - Src:             'deps/cifra/src/sha512.c:203,3'
          Dst:             write64_be
        - Src:             'deps/cifra/src/sha512.c:204,3'
          Dst:             cf_sha512_update
        - Src:             'deps/cifra/src/sha512.c:207,3'
          Dst:             abort
        - Src:             'deps/cifra/src/sha512.c:209,3'
          Dst:             write64_be
        - Src:             'deps/cifra/src/sha512.c:210,3'
          Dst:             write64_be
        - Src:             'deps/cifra/src/sha512.c:211,3'
          Dst:             write64_be
        - Src:             'deps/cifra/src/sha512.c:212,3'
          Dst:             write64_be
        - Src:             'deps/cifra/src/sha512.c:213,3'
          Dst:             write64_be
        - Src:             'deps/cifra/src/sha512.c:214,3'
          Dst:             write64_be
        - Src:             'deps/cifra/src/sha512.c:215,3'
          Dst:             write64_be
        - Src:             'deps/cifra/src/sha512.c:216,3'
          Dst:             write64_be
    - functionName:    sha512_update_block
      functionSourceFile: '/src/picotls/deps/cifra/src/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          296
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - read64_be
        - rotr64
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/sha512.c:120,19'
          Dst:             read64_be
        - Src:             'deps/cifra/src/sha512.c:123,12'
          Dst:             rotr64
        - Src:             'deps/cifra/src/sha512.c:123,12'
          Dst:             rotr64
        - Src:             'deps/cifra/src/sha512.c:125,12'
          Dst:             rotr64
        - Src:             'deps/cifra/src/sha512.c:125,12'
          Dst:             rotr64
        - Src:             'deps/cifra/src/sha512.c:130,23'
          Dst:             rotr64
        - Src:             'deps/cifra/src/sha512.c:130,23'
          Dst:             rotr64
        - Src:             'deps/cifra/src/sha512.c:130,23'
          Dst:             rotr64
        - Src:             'deps/cifra/src/sha512.c:131,19'
          Dst:             rotr64
        - Src:             'deps/cifra/src/sha512.c:131,19'
          Dst:             rotr64
        - Src:             'deps/cifra/src/sha512.c:131,19'
          Dst:             rotr64
    - functionName:    write64_be
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          69
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_sha512_update
      functionSourceFile: '/src/picotls/deps/cifra/src/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_blockwise_accumulate
        - sha512_update_block
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/sha512.c:156,3'
          Dst:             cf_blockwise_accumulate
        - Src:             'deps/cifra/src/sha512.c:156,3'
          Dst:             sha512_update_block
    - functionName:    cf_sha384_digest
      functionSourceFile: '/src/picotls/deps/cifra/src/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_sha512_digest
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/sha512.c:223,3'
          Dst:             cf_sha512_digest
    - functionName:    cf_sha512_digest
      functionSourceFile: '/src/picotls/deps/cifra/src/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_sha512_digest_final
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/sha512.c:183,3'
          Dst:             cf_sha512_digest_final
    - functionName:    cf_sha384_update
      functionSourceFile: '/src/picotls/deps/cifra/src/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 162
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_sha512_update
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/sha512.c:163,3'
          Dst:             cf_sha512_update
    - functionName:    cf_sha384_init
      functionSourceFile: '/src/picotls/deps/cifra/src/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_sha512_init
      functionSourceFile: '/src/picotls/deps/cifra/src/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_blockwise_acc_pad
      functionSourceFile: '/src/picotls/deps/cifra/src/blockwise.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      void
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - char
        - char
        - char
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          115
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - cf_blockwise_acc_byte
        - cf_blockwise_accumulate
      functionUses:    2
      BranchProfiles:
        - Branch String:   'deps/cifra/src/blockwise.c:170,3'
          Branch Sides:    []
      Callsites:
        - Src:             'deps/cifra/src/blockwise.c:174,13'
          Dst:             cf_blockwise_accumulate
        - Src:             'deps/cifra/src/blockwise.c:177,13'
          Dst:             cf_blockwise_accumulate
        - Src:             'deps/cifra/src/blockwise.c:178,13'
          Dst:             cf_blockwise_accumulate
        - Src:             'deps/cifra/src/blockwise.c:181,13'
          Dst:             cf_blockwise_accumulate
        - Src:             'deps/cifra/src/blockwise.c:187,15'
          Dst:             cf_blockwise_acc_byte
        - Src:             'deps/cifra/src/blockwise.c:188,15'
          Dst:             cf_blockwise_accumulate
        - Src:             'deps/cifra/src/blockwise.c:190,15'
          Dst:             cf_blockwise_acc_byte
    - functionName:    cf_blockwise_accumulate
      functionSourceFile: '/src/picotls/deps/cifra/src/blockwise.c'
      linkageType:     InternalLinkage
      functionLinenumber: 26
      functionLinenumberEnd: 30
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cf_blockwise_accumulate_final
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/blockwise.c:27,3'
          Dst:             cf_blockwise_accumulate_final
    - functionName:    cf_blockwise_acc_byte
      functionSourceFile: '/src/picotls/deps/cifra/src/blockwise.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - char
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          136
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_blockwise_accumulate_final
      functionSourceFile: '/src/picotls/deps/cifra/src/blockwise.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          311
      EdgeCount:       70
      CyclomaticComplexity: 14
      functionsReached:
        - abort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/blockwise.c:39,3'
          Dst:             abort
        - Src:             'deps/cifra/src/blockwise.c:40,3'
          Dst:             abort
        - Src:             'deps/cifra/src/blockwise.c:41,3'
          Dst:             abort
        - Src:             'deps/cifra/src/blockwise.c:72,5'
          Dst:             abort
        - Src:             'deps/cifra/src/blockwise.c:96,5'
          Dst:             abort
    - functionName:    xor_bb
      functionSourceFile: '/src/picotls/deps/cifra/src/bitops.h'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          47
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_blockwise_xor
      functionSourceFile: '/src/picotls/deps/cifra/src/blockwise.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          175
      EdgeCount:       39
      CyclomaticComplexity: 8
      functionsReached:
        - abort
        - xor_bb
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/blockwise.c:107,3'
          Dst:             abort
        - Src:             'deps/cifra/src/blockwise.c:108,3'
          Dst:             abort
        - Src:             'deps/cifra/src/blockwise.c:109,3'
          Dst:             abort
        - Src:             'deps/cifra/src/blockwise.c:122,5'
          Dst:             xor_bb
    - functionName:    mem_clean
      functionSourceFile: '/src/picotls/deps/cifra/src/ext/handy.h'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cf_hash
      functionSourceFile: '/src/picotls/deps/cifra/src/chash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 20
      functionLinenumberEnd: 27
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - abort
        - mem_clean
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'deps/cifra/src/chash.c:22,3'
          Dst:             abort
        - Src:             'deps/cifra/src/chash.c:26,3'
          Dst:             mem_clean
    - functionName:    vec_is_string
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4170
      functionLinenumberEnd: 4171
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:4171,12'
          Dst:             strncmp
    - functionName:    strncmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rebuild_ch_inner_extensions
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3977
      functionLinenumberEnd: 4028
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         195
      ICount:          943
      EdgeCount:       247
      CyclomaticComplexity: 54
      functionsReached:
        - __assert_fail
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - ptls_decode16
        - ptls_decode_quicint
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:3980,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3980,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3980,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:3980,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3980,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3980,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:3980,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:3980,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:3980,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:3980,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3980,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3980,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3980,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:3980,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3980,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3980,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3980,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:3980,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
    - functionName:    ptls_buffer__do_pushv
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 632
      functionLinenumberEnd: 642
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          63
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ptls_buffer_reserve
      functionUses:    347
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:637,16'
          Dst:             ptls_buffer_reserve
    - functionName:    ptls_decode_quicint
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 964
      functionLinenumberEnd: 981
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          113
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    73
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_decode16
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 928
      functionLinenumberEnd: 934
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ntoh16
      functionUses:    37
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:931,14'
          Dst:             ntoh16
    - functionName:    ptls_buffer__adjust_quic_blocksize
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 645
      functionLinenumberEnd: 662
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          104
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ptls_buffer_reserve
        - ptls_encode_quicint
      functionUses:    136
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:647,22'
          Dst:             ptls_encode_quicint
        - Src:             'lib/picotls.c:652,20'
          Dst:             ptls_buffer_reserve
    - functionName:    ptls_encode_quicint
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2059
      functionLinenumberEnd: 2079
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          139
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/picotls.h:2064,17'
          Dst:             __assert_fail
    - functionName:    ptls_buffer_reserve
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 590
      functionLinenumberEnd: 591
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ptls_buffer_reserve_aligned
      functionUses:    25
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:591,12'
          Dst:             ptls_buffer_reserve_aligned
    - functionName:    ptls_buffer_reserve_aligned
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 595
      functionLinenumberEnd: 629
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          178
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - posix_memalign
        - ptls_buffer__release_memory
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:613,17'
          Dst:             posix_memalign
        - Src:             'lib/picotls.c:621,9'
          Dst:             ptls_buffer__release_memory
    - functionName:    posix_memalign
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_buffer__release_memory
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 574
      functionLinenumberEnd: 587
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    clear_memory
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6604
      functionLinenumberEnd: 6607
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          23
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ntoh16
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 529
      functionLinenumberEnd: 530
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    client_hello_decode_server_name
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3615
      functionLinenumberEnd: 3645
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         59
      ICount:          331
      EdgeCount:       74
      CyclomaticComplexity: 17
      functionsReached:
        - memchr
        - ptls_decode8
        - ptls_decode_quicint
        - ptls_iovec_init
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/picotls.c:3618,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:3618,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3618,5'
          Dst:             ptls_decode8
        - Src:             'lib/picotls.c:3618,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3618,5'
          Dst:             memchr
        - Src:             'lib/picotls.c:3618,5'
          Dst:             ptls_iovec_init
    - functionName:    ptls_decode8
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 920
      functionLinenumberEnd: 925
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    memchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_iovec_init
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2032
      functionLinenumberEnd: 2039
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    98
      BranchProfiles:  []
      Callsites:       []
    - functionName:    try_psk_handshake
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4180
      functionLinenumberEnd: 4309
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         97
      ICount:          727
      EdgeCount:       132
      CyclomaticComplexity: 37
      functionsReached:
        - calc_verify_data
        - decode_session_identifier
        - derive_secret_with_empty_digest
        - key_schedule_extract
        - memcmp
        - ptls__key_schedule_update_hash
        - ptls_buffer_dispose
        - ptls_buffer_init
        - vec_is_string
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/picotls.c:4211,9'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:4189,5'
          Dst:             ptls_buffer_init
        - Src:             'lib/picotls.c:4197,17'
          Dst:             memcmp
        - Src:             'lib/picotls.c:4220,13'
          Dst:             decode_session_identifier
        - Src:             'lib/picotls.c:4240,19'
          Dst:             memcmp
        - Src:             'lib/picotls.c:4247,22'
          Dst:             vec_is_string
        - Src:             'lib/picotls.c:4269,18'
          Dst:             vec_is_string
        - Src:             'lib/picotls.c:4290,37'
          Dst:             key_schedule_extract
        - Src:             'lib/picotls.c:4292,16'
          Dst:             derive_secret_with_empty_digest
        - Src:             'lib/picotls.c:4295,5'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:4296,16'
          Dst:             calc_verify_data
        - Src:             'lib/picotls.c:4307,5'
          Dst:             ptls_buffer_dispose
    - functionName:    ptls_buffer_init
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2043
      functionLinenumberEnd: 2050
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'include/picotls.h:2044,5'
          Dst:             __assert_fail
    - functionName:    decode_session_identifier
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1766
      functionLinenumberEnd: 1799
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         107
      ICount:          585
      EdgeCount:       138
      CyclomaticComplexity: 33
      functionsReached:
        - memcmp
        - ptls_decode16
        - ptls_decode32
        - ptls_decode64
        - ptls_decode_quicint
        - ptls_iovec_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1769,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:1769,5'
          Dst:             memcmp
        - Src:             'lib/picotls.c:1769,5'
          Dst:             ptls_decode64
        - Src:             'lib/picotls.c:1769,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:1769,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1769,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:1769,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:1769,5'
          Dst:             ptls_decode32
        - Src:             'lib/picotls.c:1769,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:1769,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1769,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:1769,5'
          Dst:             ptls_iovec_init
    - functionName:    key_schedule_extract
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1329
      functionLinenumberEnd: 1347
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          177
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - ptls_hkdf_expand_label
        - ptls_hkdf_extract
        - ptls_iovec_init
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1333,15'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1337,39'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1338,39'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1336,16'
          Dst:             ptls_hkdf_expand_label
        - Src:             'lib/picotls.c:1344,29'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1343,11'
          Dst:             ptls_hkdf_extract
    - functionName:    derive_secret_with_empty_digest
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1467
      functionLinenumberEnd: 1468
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - derive_secret_with_hash
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1468,12'
          Dst:             derive_secret_with_hash
    - functionName:    ptls__key_schedule_update_hash
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1401
      functionLinenumberEnd: 1416
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          76
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    38
      BranchProfiles:  []
      Callsites:       []
    - functionName:    calc_verify_data
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1818
      functionLinenumberEnd: 1839
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          150
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ptls_hkdf_expand_label
        - ptls_hmac_create
        - ptls_iovec_init
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1824,39'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1825,39'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1823,16'
          Dst:             ptls_hkdf_expand_label
        - Src:             'lib/picotls.c:1827,17'
          Dst:             ptls_hmac_create
    - functionName:    ptls_buffer_dispose
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2053
      functionLinenumberEnd: 2056
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ptls_buffer__release_memory
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'include/picotls.h:2054,5'
          Dst:             ptls_buffer__release_memory
    - functionName:    mem_equal
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6612
      functionLinenumberEnd: 6619
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          55
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_hkdf_expand_label
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6445
      functionLinenumberEnd: 6465
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         75
      ICount:          367
      EdgeCount:       94
      CyclomaticComplexity: 21
      functionsReached:
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - ptls_buffer_dispose
        - ptls_buffer_init
        - ptls_hkdf_expand
        - ptls_iovec_init
        - strlen
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6450,5'
          Dst:             ptls_buffer_init
        - Src:             'lib/picotls.c:6452,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6453,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6453,5'
          Dst:             strlen
        - Src:             'lib/picotls.c:6453,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6453,5'
          Dst:             strlen
        - Src:             'lib/picotls.c:6453,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6453,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:6459,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6459,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6459,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:6461,58'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:6461,11'
          Dst:             ptls_hkdf_expand
        - Src:             'lib/picotls.c:6464,5'
          Dst:             ptls_buffer_dispose
    - functionName:    ptls_hmac_create
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6376
      functionLinenumberEnd: 6395
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          109
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - hmac_apply_key
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6379,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:6392,5'
          Dst:             hmac_apply_key
    - functionName:    hmac_update
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6321
      functionLinenumberEnd: 6324
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    hmac_final
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6338
      functionLinenumberEnd: 6362
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          122
      EdgeCount:       27
      CyclomaticComplexity: 15
      functionsReached:
        - __assert_fail
        - hmac_apply_key
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/picotls.c:6350,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:6341,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:6345,9'
          Dst:             hmac_apply_key
        - Src:             'lib/picotls.c:6356,9'
          Dst:             hmac_apply_key
        - Src:             'lib/picotls.c:6359,9'
          Dst:             __assert_fail
    - functionName:    hmac_apply_key
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6327
      functionLinenumberEnd: 6335
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          98
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strlen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    29
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_hkdf_expand
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6412
      functionLinenumberEnd: 6441
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          179
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - ptls_hmac_create
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6419,25'
          Dst:             ptls_hmac_create
    - functionName:    derive_secret_with_hash
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1447
      functionLinenumberEnd: 1453
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          75
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ptls_hkdf_expand_label
        - ptls_iovec_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1449,38'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1450,38'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1448,15'
          Dst:             ptls_hkdf_expand_label
    - functionName:    ptls_hkdf_extract
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6398
      functionLinenumberEnd: 6409
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          91
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ptls_hmac_create
        - ptls_iovec_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6402,16'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:6404,17'
          Dst:             ptls_hmac_create
    - functionName:    ptls_decode64
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 955
      functionLinenumberEnd: 961
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ntoh64
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:958,14'
          Dst:             ntoh64
    - functionName:    ptls_decode32
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 946
      functionLinenumberEnd: 952
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ntoh32
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:949,14'
          Dst:             ntoh32
    - functionName:    ntoh32
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 543
      functionLinenumberEnd: 544
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ntoh64
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 552
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          52
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    key_schedule_extract_ch1hash
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1425
      functionLinenumberEnd: 1428
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1426,5'
          Dst:             __assert_fail
    - functionName:    select_negotiated_group
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3650
      functionLinenumberEnd: 3672
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          201
      EdgeCount:       54
      CyclomaticComplexity: 13
      functionsReached:
        - ptls_decode16
        - ptls_decode_quicint
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:3653,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3653,5'
          Dst:             ptls_decode16
    - functionName:    key_schedule_update_ch1hash_prefix
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1419
      functionLinenumberEnd: 1422
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ptls__key_schedule_update_hash
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1421,5'
          Dst:             ptls__key_schedule_update_hash
    - functionName:    calc_cookie_signature
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4314
      functionLinenumberEnd: 4349
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          327
      EdgeCount:       43
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - ptls_hmac_create
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:4318,17'
          Dst:             ptls_hmac_create
        - Src:             'lib/picotls.c:4336,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:4337,5'
          Dst:             strlen
        - Src:             'lib/picotls.c:4337,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:4340,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:4342,5'
          Dst:             __assert_fail
    - functionName:    select_key_share
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2098
      functionLinenumberEnd: 2129
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          138
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - decode_key_share_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:2111,20'
          Dst:             decode_key_share_entry
    - functionName:    decode_key_share_entry
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2081
      functionLinenumberEnd: 2092
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          168
      EdgeCount:       34
      CyclomaticComplexity: 9
      functionsReached:
        - ptls_decode16
        - ptls_decode_quicint
        - ptls_iovec_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:2084,16'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:2086,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:2086,5'
          Dst:             ptls_iovec_init
    - functionName:    select_cipher
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2029
      functionLinenumberEnd: 2066
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          195
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - ptls_decode16
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:2035,20'
          Dst:             ptls_decode16
    - functionName:    certificate_type_exists
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4352
      functionLinenumberEnd: 4361
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          70
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    call_on_client_hello_cb
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4100
      functionLinenumberEnd: 4114
      functionDepth:   0
      returnType:      int
      argCount:        17
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          134
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rebuild_ch_inner
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4033
      functionLinenumberEnd: 4087
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         216
      ICount:          1038
      EdgeCount:       275
      CyclomaticComplexity: 61
      functionsReached:
        - ptls__key_schedule_update_hash
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - ptls_decode16
        - ptls_decode_quicint
        - rebuild_ch_inner_extensions
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4044,5'
          Dst:             rebuild_ch_inner_extensions
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4044,5'
          Dst:             ptls__key_schedule_update_hash
    - functionName:    check_client_hello_constraints
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4118
      functionLinenumberEnd: 4167
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          265
      EdgeCount:       58
      CyclomaticComplexity: 18
      functionsReached:
        - call_on_client_hello_cb
        - is_supported_version
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:4127,10'
          Dst:             is_supported_version
        - Src:             'lib/picotls.c:4134,24'
          Dst:             call_on_client_hello_cb
    - functionName:    is_supported_version
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 455
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    decode_client_hello
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3676
      functionLinenumberEnd: 3972
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         671
      ICount:          3551
      EdgeCount:       858
      CyclomaticComplexity: 189
      functionsReached:
        - __assert_fail
        - client_hello_decode_server_name
        - collect_unknown_extension
        - decode_signature_algorithms
        - extension_bitmap_testandset
        - ptls_decode16
        - ptls_decode32
        - ptls_decode8
        - ptls_decode_quicint
        - ptls_iovec_init
        - should_collect_unknown_extension
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/picotls.c:3738,5'
          Branch Sides:    []
        - Branch String:   'lib/picotls.c:3738,5'
          Branch Sides:    []
        - Branch String:   'lib/picotls.c:3738,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:3682,16'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:3698,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3698,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3708,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3708,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3718,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:3738,5'
          Dst:             extension_bitmap_testandset
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3738,5'
          Dst:             client_hello_decode_server_name
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3738,5'
          Dst:             decode_signature_algorithms
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode8
        - Src:             'lib/picotls.c:3738,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode32
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode8
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode8
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode8
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3738,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3738,5'
          Dst:             should_collect_unknown_extension
        - Src:             'lib/picotls.c:3738,5'
          Dst:             collect_unknown_extension
    - functionName:    extension_bitmap_testandset
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 464
      functionLinenumberEnd: 525
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         67
      ICount:          373
      EdgeCount:       83
      CyclomaticComplexity: 18
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    decode_signature_algorithms
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2006
      functionLinenumberEnd: 2021
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          195
      EdgeCount:       50
      CyclomaticComplexity: 12
      functionsReached:
        - ptls_decode16
        - ptls_decode_quicint
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:2009,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:2009,5'
          Dst:             ptls_decode16
    - functionName:    should_collect_unknown_extension
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2975
      functionLinenumberEnd: 2976
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          50
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    collect_unknown_extension
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2981
      functionLinenumberEnd: 2994
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          118
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - ptls_iovec_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:2984,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:2990,25'
          Dst:             ptls_iovec_init
    - functionName:    server_handle_finished
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5046
      functionLinenumberEnd: 5061
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          83
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ptls__key_schedule_update_hash
        - setup_traffic_protection
        - verify_finished
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5049,16'
          Dst:             verify_finished
        - Src:             'lib/picotls.c:5054,16'
          Dst:             setup_traffic_protection
        - Src:             'lib/picotls.c:5057,5'
          Dst:             ptls__key_schedule_update_hash
    - functionName:    verify_finished
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1842
      functionLinenumberEnd: 1860
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          93
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - calc_verify_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1851,16'
          Dst:             calc_verify_data
    - functionName:    setup_traffic_protection
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1649
      functionLinenumberEnd: 1690
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          215
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - derive_secret
        - log_secret
        - ptls_aead_free
        - ptls_aead_new
        - ptls_iovec_init
        - ptls_is_server
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1657,20'
          Dst:             derive_secret
        - Src:             'lib/picotls.c:1663,32'
          Dst:             ptls_is_server
        - Src:             'lib/picotls.c:1664,16'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1663,5'
          Dst:             log_secret
        - Src:             'lib/picotls.c:1674,9'
          Dst:             ptls_aead_free
        - Src:             'lib/picotls.c:1675,22'
          Dst:             ptls_aead_new
    - functionName:    derive_secret
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1457
      functionLinenumberEnd: 1463
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          47
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - derive_secret_with_hash
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1461,15'
          Dst:             derive_secret_with_hash
    - functionName:    ptls_is_server
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6634
      functionLinenumberEnd: 6635
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    log_secret
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 984
      functionLinenumberEnd: 992
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          195
      EdgeCount:       36
      CyclomaticComplexity: 7
      functionsReached:
        - ptls_get_log_state
        - ptls_hexdump
        - ptls_log__do_push_element_safestr
        - ptls_log__do_push_element_unsigned64
        - ptls_log__do_write_end
        - ptls_log__do_write_start
        - ptls_log_conn_maybe_active
        - ptls_log_getsni_ptls
        - ptls_log_point_maybe_active
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:988,5'
          Dst:             ptls_log_point_maybe_active
        - Src:             'lib/picotls.c:988,5'
          Dst:             ptls_get_log_state
        - Src:             'lib/picotls.c:988,5'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:988,5'
          Dst:             ptls_log_conn_maybe_active
        - Src:             'lib/picotls.c:988,5'
          Dst:             ptls_log__do_write_start
        - Src:             'lib/picotls.c:988,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:988,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:988,5'
          Dst:             strlen
        - Src:             'lib/picotls.c:988,5'
          Dst:             ptls_log__do_push_element_safestr
        - Src:             'lib/picotls.c:988,5'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:988,5'
          Dst:             ptls_log__do_write_end
        - Src:             'lib/picotls.c:991,71'
          Dst:             ptls_hexdump
    - functionName:    ptls_aead_free
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6571
      functionLinenumberEnd: 6574
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_aead_new
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6549
      functionLinenumberEnd: 6550
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          39
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - new_aead
        - ptls_iovec_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6550,49'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:6550,12'
          Dst:             new_aead
    - functionName:    new_aead
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6531
      functionLinenumberEnd: 6544
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          64
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - get_traffic_keys
        - ptls_aead_new_direct
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6539,16'
          Dst:             get_traffic_keys
        - Src:             'lib/picotls.c:6541,11'
          Dst:             ptls_aead_new_direct
    - functionName:    get_traffic_keys
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1636
      functionLinenumberEnd: 1645
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          78
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - get_traffic_key
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1639,16'
          Dst:             get_traffic_key
        - Src:             'lib/picotls.c:1640,16'
          Dst:             get_traffic_key
    - functionName:    ptls_aead_new_direct
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6554
      functionLinenumberEnd: 6568
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          76
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_traffic_key
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1629
      functionLinenumberEnd: 1631
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          49
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ptls_hkdf_expand_label
        - ptls_iovec_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1630,56'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1630,12'
          Dst:             ptls_hkdf_expand_label
    - functionName:    ptls_log_point_maybe_active
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2000
      functionLinenumberEnd: 2004
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ptls_log__recalc_point
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'include/picotls.h:2003,9'
          Dst:             ptls_log__recalc_point
    - functionName:    ptls_get_log_state
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5677
      functionLinenumberEnd: 5679
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_log_getsni_ptls
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1995
      functionLinenumberEnd: 1995
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_log_conn_maybe_active
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2016
      functionLinenumberEnd: 2020
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ptls_log__recalc_conn
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'include/picotls.h:2019,9'
          Dst:             ptls_log__recalc_conn
    - functionName:    ptls_log__do_write_start
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7124
      functionLinenumberEnd: 7164
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          230
      EdgeCount:       34
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - gettimeofday
        - ptls_buffer_init
        - snprintf
        - sprintf
        - strchr
        - syscall
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:7125,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:7126,5'
          Dst:             ptls_buffer_init
        - Src:             'lib/picotls.c:7129,28'
          Dst:             strchr
        - Src:             'lib/picotls.c:7130,19'
          Dst:             snprintf
        - Src:             'lib/picotls.c:7136,80'
          Dst:             syscall
        - Src:             'lib/picotls.c:7136,26'
          Dst:             sprintf
        - Src:             'lib/picotls.c:7150,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:7157,9'
          Dst:             gettimeofday
        - Src:             'lib/picotls.c:7158,20'
          Dst:             snprintf
        - Src:             'lib/picotls.c:7161,5'
          Dst:             __assert_fail
    - functionName:    ptls_log__do_push_element_unsigned64
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7106
      functionLinenumberEnd: 7108
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pushf_logbuf_or_invalidate
      functionUses:    20
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:7107,5'
          Dst:             pushf_logbuf_or_invalidate
    - functionName:    ptls_log__do_push_element_safestr
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7062
      functionLinenumberEnd: 7069
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          78
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - expand_logbuf_or_invalidate
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:7063,9'
          Dst:             expand_logbuf_or_invalidate
    - functionName:    ptls_log__do_write_end
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7168
      functionLinenumberEnd: 7221
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         62
      ICount:          311
      EdgeCount:       79
      CyclomaticComplexity: 19
      functionsReached:
        - __assert_fail
        - __errno_location
        - close_log_fd
        - expand_logbuf_or_invalidate
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - ptls_buffer_dispose
        - ptls_log__recalc_conn
        - ptls_log__recalc_point
        - write
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:7169,10'
          Dst:             expand_logbuf_or_invalidate
        - Src:             'lib/picotls.c:7174,5'
          Dst:             pthread_mutex_lock
        - Src:             'lib/picotls.c:7178,9'
          Dst:             ptls_log__recalc_point
        - Src:             'lib/picotls.c:7181,9'
          Dst:             ptls_log__recalc_conn
        - Src:             'lib/picotls.c:7190,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:7200,24'
          Dst:             write
        - Src:             'lib/picotls.c:7200,96'
          Dst:             __errno_location
        - Src:             'lib/picotls.c:7204,48'
          Dst:             __errno_location
        - Src:             'lib/picotls.c:7204,67'
          Dst:             __errno_location
        - Src:             'lib/picotls.c:7209,13'
          Dst:             close_log_fd
        - Src:             'lib/picotls.c:7213,5'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/picotls.c:7216,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:7218,5'
          Dst:             ptls_buffer_dispose
        - Src:             'lib/picotls.c:7219,5'
          Dst:             __assert_fail
    - functionName:    ptls_hexdump
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6801
      functionLinenumberEnd: 6808
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          52
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - byte_to_hex
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6806,15'
          Dst:             byte_to_hex
    - functionName:    byte_to_hex
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6794
      functionLinenumberEnd: 6797
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          29
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    expand_logbuf_or_invalidate
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7030
      functionLinenumberEnd: 7044
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          84
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - ptls_buffer_dispose
        - ptls_buffer_reserve
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:7034,9'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:7035,9'
          Dst:             ptls_buffer_dispose
        - Src:             'lib/picotls.c:7036,9'
          Dst:             __assert_fail
    - functionName:    pthread_mutex_lock
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_log__recalc_point
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6987
      functionLinenumberEnd: 7003
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          119
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - is_in_stringlist
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6989,9'
          Dst:             pthread_mutex_lock
        - Src:             'lib/picotls.c:6995,54'
          Dst:             is_in_stringlist
        - Src:             'lib/picotls.c:7002,9'
          Dst:             pthread_mutex_unlock
    - functionName:    ptls_log__recalc_conn
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7006
      functionLinenumberEnd: 7027
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          171
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - is_in_addresslist
        - is_in_stringlist
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:7008,9'
          Dst:             pthread_mutex_lock
        - Src:             'lib/picotls.c:7016,17'
          Dst:             is_in_stringlist
        - Src:             'lib/picotls.c:7017,17'
          Dst:             is_in_addresslist
        - Src:             'lib/picotls.c:7026,9'
          Dst:             pthread_mutex_unlock
    - functionName:    close_log_fd
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6919
      functionLinenumberEnd: 6935
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          91
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - close
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6920,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:6922,5'
          Dst:             close
    - functionName:    pthread_mutex_unlock
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_in_stringlist
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6955
      functionLinenumberEnd: 6966
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          75
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - strcmp
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6963,13'
          Dst:             strcmp
        - Src:             'lib/picotls.c:6962,69'
          Dst:             strlen
    - functionName:    is_in_addresslist
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6969
      functionLinenumberEnd: 6984
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          72
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6972,9'
          Dst:             memcmp
        - Src:             'lib/picotls.c:6975,9'
          Dst:             memcmp
        - Src:             'lib/picotls.c:6978,50'
          Dst:             memcmp
        - Src:             'lib/picotls.c:6979,13'
          Dst:             memcmp
    - functionName:    strcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pushf_logbuf_or_invalidate
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7048
      functionLinenumberEnd: 7059
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          97
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - expand_logbuf_or_invalidate
        - vsnprintf
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:7049,10'
          Dst:             expand_logbuf_or_invalidate
        - Src:             'lib/picotls.c:7054,13'
          Dst:             vsnprintf
        - Src:             'lib/picotls.c:7057,5'
          Dst:             __assert_fail
    - functionName:    vsnprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    snprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    syscall
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    gettimeofday
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_log_getsni_cb_ptls
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1995
      functionLinenumberEnd: 1995
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ptls_get_server_name
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/picotls.h:1995,1'
          Dst:             ptls_get_server_name
    - functionName:    ptls_get_server_name
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5611
      functionLinenumberEnd: 5612
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    server_handle_end_of_early_data
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5031
      functionLinenumberEnd: 5042
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - commission_handshake_secret
        - ptls__key_schedule_update_hash
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5034,16'
          Dst:             commission_handshake_secret
        - Src:             'lib/picotls.c:5037,5'
          Dst:             ptls__key_schedule_update_hash
    - functionName:    commission_handshake_secret
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1693
      functionLinenumberEnd: 1703
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          78
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - ptls_is_server
        - setup_traffic_protection
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1694,19'
          Dst:             ptls_is_server
        - Src:             'lib/picotls.c:1696,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:1703,12'
          Dst:             setup_traffic_protection
    - functionName:    server_handle_certificate_verify
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3501
      functionLinenumberEnd: 3509
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - handle_certificate_verify
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:3502,15'
          Dst:             handle_certificate_verify
    - functionName:    handle_certificate_verify
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3453
      functionLinenumberEnd: 3485
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          264
      EdgeCount:       48
      CyclomaticComplexity: 12
      functionsReached:
        - build_certificate_verify_signdata
        - ptls__key_schedule_update_hash
        - ptls_decode16
        - ptls_decode_quicint
        - ptls_iovec_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:3462,16'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:3464,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3464,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3469,21'
          Dst:             build_certificate_verify_signdata
        - Src:             'lib/picotls.c:3471,84'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3482,5'
          Dst:             ptls__key_schedule_update_hash
    - functionName:    build_certificate_verify_signdata
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1803
      functionLinenumberEnd: 1814
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          83
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1808,44'
          Dst:             strlen
        - Src:             'lib/picotls.c:1809,16'
          Dst:             strlen
        - Src:             'lib/picotls.c:1812,5'
          Dst:             __assert_fail
    - functionName:    server_handle_certificate
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3434
      functionLinenumberEnd: 3450
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          70
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - handle_certificate
        - ptls__key_schedule_update_hash
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:3437,16'
          Dst:             handle_certificate
        - Src:             'lib/picotls.c:3440,5'
          Dst:             ptls__key_schedule_update_hash
    - functionName:    handle_certificate
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3310
      functionLinenumberEnd: 3358
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         148
      ICount:          791
      EdgeCount:       191
      CyclomaticComplexity: 45
      functionsReached:
        - extension_bitmap_testandset
        - ptls_decode16
        - ptls_decode_quicint
        - ptls_iovec_init
        - ptls_is_server
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:3316,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3323,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3323,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3323,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3323,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3323,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:3323,5'
          Dst:             extension_bitmap_testandset
        - Src:             'lib/picotls.c:3323,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3323,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3343,14'
          Dst:             ptls_is_server
    - functionName:    server_handle_hello
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4365
      functionLinenumberEnd: 4964
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1838
      ICount:          9999
      EdgeCount:       2342
      CyclomaticComplexity: 506
      functionsReached:
        - __assert_fail
        - calc_cookie_signature
        - call_on_client_hello_cb
        - certificate_type_exists
        - check_client_hello_constraints
        - clear_ech
        - decode_client_hello
        - derive_exporter_secret
        - derive_secret
        - ech_calc_confirmation
        - key_schedule_extract
        - key_schedule_extract_ch1hash
        - key_schedule_new
        - key_schedule_transform_post_ch1hash
        - key_schedule_update_ch1hash_prefix
        - log_client_random
        - memcmp
        - ptls__key_schedule_update_hash
        - ptls_aead_decrypt
        - ptls_aead_free
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - ptls_buffer_dispose
        - ptls_buffer_init
        - ptls_buffer_reserve
        - ptls_decode_quicint
        - ptls_get_log_state
        - ptls_iovec_init
        - ptls_is_ech_handshake
        - ptls_log__do_push_element_bool
        - ptls_log__do_push_element_unsigned64
        - ptls_log__do_write_end
        - ptls_log__do_write_start
        - ptls_log_conn_maybe_active
        - ptls_log_getsni_ptls
        - ptls_log_point_maybe_active
        - push_additional_extensions
        - push_change_cipher_spec
        - push_signature_algorithms
        - rebuild_ch_inner
        - report_unknown_extensions
        - select_cipher
        - select_key_share
        - select_negotiated_group
        - send_certificate
        - server_finish_handshake
        - setup_traffic_protection
        - strlen
        - try_psk_handshake
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:4424,5'
          Dst:             ptls_buffer_init
        - Src:             'lib/picotls.c:4434,16'
          Dst:             decode_client_hello
        - Src:             'lib/picotls.c:4437,16'
          Dst:             check_client_hello_constraints
        - Src:             'lib/picotls.c:4441,9'
          Dst:             log_client_random
        - Src:             'lib/picotls.c:4469,57'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:4474,13'
          Dst:             ptls_log_point_maybe_active
        - Src:             'lib/picotls.c:4474,13'
          Dst:             ptls_get_log_state
        - Src:             'lib/picotls.c:4474,13'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:4474,13'
          Dst:             ptls_log_conn_maybe_active
        - Src:             'lib/picotls.c:4474,13'
          Dst:             ptls_log__do_write_start
        - Src:             'lib/picotls.c:4474,13'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:4474,13'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:4474,13'
          Dst:             ptls_log__do_push_element_bool
        - Src:             'lib/picotls.c:4474,13'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:4474,13'
          Dst:             ptls_log__do_write_end
        - Src:             'lib/picotls.c:4489,17'
          Dst:             ptls_aead_decrypt
        - Src:             'lib/picotls.c:4493,28'
          Dst:             rebuild_ch_inner
        - Src:             'lib/picotls.c:4499,27'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:4501,28'
          Dst:             decode_client_hello
        - Src:             'lib/picotls.c:4504,28'
          Dst:             check_client_hello_constraints
        - Src:             'lib/picotls.c:4515,17'
          Dst:             ptls_aead_free
        - Src:             'lib/picotls.c:4520,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:4535,20'
          Dst:             call_on_client_hello_cb
        - Src:             'lib/picotls.c:4541,14'
          Dst:             certificate_type_exists
        - Src:             'lib/picotls.c:4555,24'
          Dst:             strlen
        - Src:             'lib/picotls.c:4556,47'
          Dst:             memcmp
        - Src:             'lib/picotls.c:4565,20'
          Dst:             select_cipher
        - Src:             'lib/picotls.c:4571,38'
          Dst:             key_schedule_new
        - Src:             'lib/picotls.c:4586,9'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:4586,9'
          Dst:             select_key_share
        - Src:             'lib/picotls.c:4598,28'
          Dst:             calc_cookie_signature
        - Src:             'lib/picotls.c:4606,13'
          Dst:             key_schedule_update_ch1hash_prefix
        - Src:             'lib/picotls.c:4607,13'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:4608,13'
          Dst:             key_schedule_extract
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:4613,13'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:4631,24'
          Dst:             select_negotiated_group
        - Src:             'lib/picotls.c:4634,13'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:4635,13'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:4640,80'
          Dst:             ptls_is_ech_handshake
        - Src:             'lib/picotls.c:4642,17'
          Dst:             key_schedule_transform_post_ch1hash
        - Src:             'lib/picotls.c:4643,17'
          Dst:             key_schedule_extract
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_is_ech_handshake
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:4646,13'
          Dst:             key_schedule_extract_ch1hash
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:4646,13'
          Dst:             calc_cookie_signature
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ech_calc_confirmation
        - Src:             'lib/picotls.c:4646,13'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:4702,28'
          Dst:             push_change_cipher_spec
        - Src:             'lib/picotls.c:4716,16'
          Dst:             report_unknown_extensions
        - Src:             'lib/picotls.c:4724,38'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:4723,20'
          Dst:             try_psk_handshake
        - Src:             'lib/picotls.c:4743,9'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:4745,13'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:4746,53'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:4746,13'
          Dst:             key_schedule_extract
        - Src:             'lib/picotls.c:4752,9'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:4756,13'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:4789,20'
          Dst:             derive_exporter_secret
        - Src:             'lib/picotls.c:4791,20'
          Dst:             setup_traffic_protection
        - Src:             'lib/picotls.c:4802,13'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:4803,13'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_is_ech_handshake
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ech_calc_confirmation
        - Src:             'lib/picotls.c:4811,9'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:4845,5'
          Dst:             clear_ech
        - Src:             'lib/picotls.c:4847,16'
          Dst:             push_change_cipher_spec
        - Src:             'lib/picotls.c:4851,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:4852,5'
          Dst:             key_schedule_extract
        - Src:             'lib/picotls.c:4853,16'
          Dst:             setup_traffic_protection
        - Src:             'lib/picotls.c:4856,20'
          Dst:             derive_secret
        - Src:             'lib/picotls.c:4862,20'
          Dst:             setup_traffic_protection
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             strlen
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4869,5'
          Dst:             push_additional_extensions
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4869,5'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4909,13'
          Dst:             push_signature_algorithms
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:4909,13'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:4942,78'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:4942,20'
          Dst:             send_certificate
        - Src:             'lib/picotls.c:4946,20'
          Dst:             server_finish_handshake
        - Src:             'lib/picotls.c:4950,20'
          Dst:             server_finish_handshake
        - Src:             'lib/picotls.c:4962,5'
          Dst:             ptls_buffer_dispose
    - functionName:    log_client_random
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1707
      functionLinenumberEnd: 1714
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          144
      EdgeCount:       30
      CyclomaticComplexity: 6
      functionsReached:
        - ptls_get_log_state
        - ptls_log__do_push_element_hexdump
        - ptls_log__do_push_element_unsigned64
        - ptls_log__do_write_end
        - ptls_log__do_write_start
        - ptls_log_conn_maybe_active
        - ptls_log_getsni_ptls
        - ptls_log_point_maybe_active
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1713,5'
          Dst:             ptls_log_point_maybe_active
        - Src:             'lib/picotls.c:1713,5'
          Dst:             ptls_get_log_state
        - Src:             'lib/picotls.c:1713,5'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:1713,5'
          Dst:             ptls_log_conn_maybe_active
        - Src:             'lib/picotls.c:1713,5'
          Dst:             ptls_log__do_write_start
        - Src:             'lib/picotls.c:1713,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:1713,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:1713,5'
          Dst:             ptls_log__do_push_element_hexdump
        - Src:             'lib/picotls.c:1713,5'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:1713,5'
          Dst:             ptls_log__do_write_end
    - functionName:    ptls_log__do_push_element_bool
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7111
      functionLinenumberEnd: 7121
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          72
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - expand_logbuf_or_invalidate
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:7112,9'
          Dst:             expand_logbuf_or_invalidate
    - functionName:    ptls_aead_decrypt
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2162
      functionLinenumberEnd: 2163
      functionDepth:   0
      returnType:      size_t
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          38
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    key_schedule_new
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1274
      functionLinenumberEnd: 1326
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          444
      EdgeCount:       100
      CyclomaticComplexity: 25
      functionsReached:
        - key_schedule_free
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1322,5'
          Dst:             key_schedule_free
    - functionName:    ptls_is_ech_handshake
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5658
      functionLinenumberEnd: 5669
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          79
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    key_schedule_transform_post_ch1hash
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1431
      functionLinenumberEnd: 1444
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          110
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ech_calc_confirmation
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1231
      functionLinenumberEnd: 1258
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          197
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - ptls_hkdf_expand_label
        - ptls_hkdf_extract
        - ptls_iovec_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1246,65'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1247,34'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1246,16'
          Dst:             ptls_hkdf_extract
        - Src:             'lib/picotls.c:1249,70'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1250,46'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1249,16'
          Dst:             ptls_hkdf_expand_label
    - functionName:    push_change_cipher_spec
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1948
      functionLinenumberEnd: 1969
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         43
      ICount:          220
      EdgeCount:       54
      CyclomaticComplexity: 13
      functionsReached:
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1964,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1964,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1964,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1964,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
    - functionName:    report_unknown_extensions
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2997
      functionLinenumberEnd: 3004
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          63
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:2999,9'
          Dst:             __assert_fail
    - functionName:    derive_exporter_secret
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1472
      functionLinenumberEnd: 1490
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          144
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - derive_secret
        - log_secret
        - ptls_iovec_init
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1479,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:1483,16'
          Dst:             derive_secret
        - Src:             'lib/picotls.c:1487,16'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1486,5'
          Dst:             log_secret
    - functionName:    clear_ech
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 998
      functionLinenumberEnd: 1014
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          110
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - ptls_aead_free
        - ptls_iovec_init
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1000,9'
          Dst:             ptls_aead_free
        - Src:             'lib/picotls.c:1006,27'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1012,33'
          Dst:             ptls_iovec_init
    - functionName:    push_additional_extensions
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1973
      functionLinenumberEnd: 1984
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         50
      ICount:          230
      EdgeCount:       62
      CyclomaticComplexity: 14
      functionsReached:
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1979,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1979,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1979,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1979,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
    - functionName:    push_signature_algorithms
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1988
      functionLinenumberEnd: 2002
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         42
      ICount:          201
      EdgeCount:       52
      CyclomaticComplexity: 12
      functionsReached:
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1995,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1995,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1995,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
    - functionName:    send_certificate
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3222
      functionLinenumberEnd: 3247
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          115
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:3238,17'
          Dst:             __assert_fail
    - functionName:    server_finish_handshake
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4972
      functionLinenumberEnd: 5027
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          301
      EdgeCount:       69
      CyclomaticComplexity: 18
      functionsReached:
        - __assert_fail
        - commission_handshake_secret
        - derive_exporter_secret
        - derive_secret
        - key_schedule_extract
        - ptls_iovec_init
        - send_certificate_verify
        - send_finished
        - send_session_ticket
        - setup_traffic_protection
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:4976,20'
          Dst:             send_certificate_verify
        - Src:             'lib/picotls.c:4985,16'
          Dst:             send_finished
        - Src:             'lib/picotls.c:4988,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:4989,56'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:4989,16'
          Dst:             key_schedule_extract
        - Src:             'lib/picotls.c:4991,16'
          Dst:             setup_traffic_protection
        - Src:             'lib/picotls.c:4993,16'
          Dst:             derive_secret
        - Src:             'lib/picotls.c:4995,16'
          Dst:             derive_exporter_secret
        - Src:             'lib/picotls.c:5000,24'
          Dst:             commission_handshake_secret
        - Src:             'lib/picotls.c:5014,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:5016,24'
          Dst:             send_session_ticket
    - functionName:    send_certificate_verify
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3252
      functionLinenumberEnd: 3287
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         106
      ICount:          602
      EdgeCount:       132
      CyclomaticComplexity: 28
      functionsReached:
        - __assert_fail
        - build_certificate_verify_signdata
        - ptls__key_schedule_update_hash
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - ptls_iovec_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:3259,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3259,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3259,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3259,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3259,5'
          Dst:             build_certificate_verify_signdata
        - Src:             'lib/picotls.c:3259,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3259,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:3259,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:3259,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:3259,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:3259,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:3259,5'
          Dst:             ptls__key_schedule_update_hash
    - functionName:    send_finished
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1864
      functionLinenumberEnd: 1877
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         48
      ICount:          294
      EdgeCount:       61
      CyclomaticComplexity: 15
      functionsReached:
        - calc_verify_data
        - ptls__key_schedule_update_hash
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - ptls_buffer_reserve
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1867,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1867,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1867,5'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:1867,5'
          Dst:             calc_verify_data
        - Src:             'lib/picotls.c:1867,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:1867,5'
          Dst:             ptls__key_schedule_update_hash
    - functionName:    send_session_ticket
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1881
      functionLinenumberEnd: 1944
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         272
      ICount:          1602
      EdgeCount:       342
      CyclomaticComplexity: 72
      functionsReached:
        - __assert_fail
        - calc_verify_data
        - encode_session_identifier
        - ptls__key_schedule_update_hash
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - ptls_buffer_dispose
        - ptls_buffer_init
        - ptls_buffer_reserve
        - ptls_iovec_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1888,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:1889,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:1891,5'
          Dst:             ptls_buffer_init
        - Src:             'lib/picotls.c:1896,13'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:1897,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1897,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1897,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:1897,13'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:1900,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1900,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1900,9'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:1900,9'
          Dst:             calc_verify_data
        - Src:             'lib/picotls.c:1900,9'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:1900,9'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:1915,107'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1915,42'
          Dst:             encode_session_identifier
        - Src:             'lib/picotls.c:1921,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1921,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1921,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1921,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1921,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1921,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:1921,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1921,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1921,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:1921,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1921,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1921,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1921,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1921,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:1921,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:1921,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:1921,5'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:1938,5'
          Dst:             ptls_buffer_dispose
    - functionName:    encode_session_identifier
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1722
      functionLinenumberEnd: 1760
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - short
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         157
      ICount:          815
      EdgeCount:       198
      CyclomaticComplexity: 43
      functionsReached:
        - derive_resumption_secret
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - ptls_buffer_reserve
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1725,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1725,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1725,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1725,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1725,5'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:1725,5'
          Dst:             derive_resumption_secret
        - Src:             'lib/picotls.c:1725,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:1725,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1725,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1725,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1725,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1725,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1725,5'
          Dst:             strlen
        - Src:             'lib/picotls.c:1725,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1725,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:1725,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1725,5'
          Dst:             strlen
        - Src:             'lib/picotls.c:1725,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1725,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:1725,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
    - functionName:    derive_resumption_secret
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1503
      functionLinenumberEnd: 1515
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          103
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - derive_secret
        - ptls_hkdf_expand_label
        - ptls_iovec_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1506,16'
          Dst:             derive_secret
        - Src:             'lib/picotls.c:1509,39'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1508,16'
          Dst:             ptls_hkdf_expand_label
    - functionName:    default_emit_certificate_cb
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3205
      functionLinenumberEnd: 3216
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          279
      EdgeCount:       58
      CyclomaticComplexity: 14
      functionsReached:
        - ptls__key_schedule_update_hash
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - ptls_build_certificate_message
        - ptls_iovec_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:3208,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3208,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3208,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3208,5'
          Dst:             ptls_build_certificate_message
        - Src:             'lib/picotls.c:3208,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:3208,5'
          Dst:             ptls__key_schedule_update_hash
    - functionName:    ptls_build_certificate_message
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3178
      functionLinenumberEnd: 3199
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         187
      ICount:          872
      EdgeCount:       237
      CyclomaticComplexity: 52
      functionsReached:
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:3181,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3181,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3181,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:3182,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3182,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3182,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3182,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:3182,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3182,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3182,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3182,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3182,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3182,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3182,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:3182,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:3182,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:3182,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
    - functionName:    begin_record_message
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 861
      functionLinenumberEnd: 869
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - ptls_buffer__do_pushv
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:866,5'
          Dst:             ptls_buffer__do_pushv
    - functionName:    key_schedule_free
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1262
      functionLinenumberEnd: 1271
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          93
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_log__do_push_element_hexdump
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7081
      functionLinenumberEnd: 7088
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          80
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - expand_logbuf_or_invalidate
        - ptls_hexdump
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:7082,9'
          Dst:             expand_logbuf_or_invalidate
        - Src:             'lib/picotls.c:7084,9'
          Dst:             ptls_hexdump
    - functionName:    client_do_handle_certificate
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3362
      functionLinenumberEnd: 3371
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - handle_certificate
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:3365,16'
          Dst:             handle_certificate
    - functionName:    decode_certificate_request
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3131
      functionLinenumberEnd: 3173
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         101
      ICount:          537
      EdgeCount:       129
      CyclomaticComplexity: 30
      functionsReached:
        - decode_signature_algorithms
        - extension_bitmap_testandset
        - ptls_decode16
        - ptls_decode_quicint
        - ptls_iovec_init
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/picotls.c:3152,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:3136,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3152,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3152,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:3152,5'
          Dst:             extension_bitmap_testandset
        - Src:             'lib/picotls.c:3152,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3152,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3152,5'
          Dst:             decode_signature_algorithms
    - functionName:    key_schedule_select_outer
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1388
      functionLinenumberEnd: 1398
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          92
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1391,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:1392,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:1393,5'
          Dst:             __assert_fail
    - functionName:    handle_hello_retry_request
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2792
      functionLinenumberEnd: 2835
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          250
      EdgeCount:       47
      CyclomaticComplexity: 12
      functionsReached:
        - __assert_fail
        - ptls_aead_free
        - ptls_iovec_init
        - send_client_hello
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:2796,85'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:2803,13'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:2804,13'
          Dst:             ptls_aead_free
        - Src:             'lib/picotls.c:2832,11'
          Dst:             send_client_hello
    - functionName:    send_client_hello
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2376
      functionLinenumberEnd: 2615
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         193
      ICount:          1593
      EdgeCount:       260
      CyclomaticComplexity: 69
      functionsReached:
        - __assert_fail
        - client_decode_ech_config_list
        - client_setup_ech
        - client_setup_ech_grease
        - decode_stored_session_ticket
        - derive_exporter_secret
        - derive_secret_with_empty_digest
        - encode_client_hello
        - key_schedule_extract
        - key_schedule_new
        - outer_ech_header_size
        - ptls__key_schedule_update_hash
        - ptls_aead_encrypt
        - ptls_aead_free
        - ptls_buffer_dispose
        - ptls_buffer_init
        - ptls_buffer_reserve
        - ptls_iovec_init
        - ptls_server_name_is_ipaddr
        - push_change_cipher_spec
        - setup_traffic_protection
        - strlen
        - update_ch_hash_and_binder
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:2389,5'
          Dst:             ptls_buffer_init
        - Src:             'lib/picotls.c:2391,38'
          Dst:             ptls_server_name_is_ipaddr
        - Src:             'lib/picotls.c:2399,17'
          Dst:             client_decode_ech_config_list
        - Src:             'lib/picotls.c:2401,32'
          Dst:             client_setup_ech
        - Src:             'lib/picotls.c:2406,17'
          Dst:             client_setup_ech_grease
        - Src:             'lib/picotls.c:2423,13'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:2429,13'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:2442,13'
          Dst:             decode_stored_session_ticket
        - Src:             'lib/picotls.c:2456,26'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:2477,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:2485,34'
          Dst:             key_schedule_new
        - Src:             'lib/picotls.c:2489,20'
          Dst:             key_schedule_extract
        - Src:             'lib/picotls.c:2499,16'
          Dst:             encode_client_hello
        - Src:             'lib/picotls.c:2508,20'
          Dst:             derive_secret_with_empty_digest
        - Src:             'lib/picotls.c:2511,16'
          Dst:             update_ch_hash_and_binder
        - Src:             'lib/picotls.c:2520,88'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:2518,20'
          Dst:             encode_client_hello
        - Src:             'lib/picotls.c:2531,31'
          Dst:             strlen
        - Src:             'lib/picotls.c:2541,28'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:2553,100'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:2551,20'
          Dst:             encode_client_hello
        - Src:             'lib/picotls.c:2558,9'
          Dst:             ptls_aead_encrypt
        - Src:             'lib/picotls.c:2564,26'
          Dst:             outer_ech_header_size
        - Src:             'lib/picotls.c:2570,59'
          Dst:             outer_ech_header_size
        - Src:             'lib/picotls.c:2583,13'
          Dst:             ptls_aead_free
        - Src:             'lib/picotls.c:2585,24'
          Dst:             update_ch_hash_and_binder
        - Src:             'lib/picotls.c:2590,13'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:2599,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:2600,20'
          Dst:             setup_traffic_protection
        - Src:             'lib/picotls.c:2602,20'
          Dst:             push_change_cipher_spec
        - Src:             'lib/picotls.c:2606,20'
          Dst:             derive_exporter_secret
        - Src:             'lib/picotls.c:2613,5'
          Dst:             ptls_buffer_dispose
    - functionName:    ptls_server_name_is_ipaddr
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6754
      functionLinenumberEnd: 6766
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - inet_pton
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6757,9'
          Dst:             inet_pton
        - Src:             'lib/picotls.c:6762,9'
          Dst:             inet_pton
    - functionName:    client_decode_ech_config_list
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1114
      functionLinenumberEnd: 1148
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         73
      ICount:          397
      EdgeCount:       94
      CyclomaticComplexity: 23
      functionsReached:
        - decode_one_ech_config
        - ptls_decode16
        - ptls_decode_quicint
        - ptls_iovec_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1120,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:1120,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:1120,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:1120,5'
          Dst:             decode_one_ech_config
        - Src:             'lib/picotls.c:1120,5'
          Dst:             ptls_iovec_init
    - functionName:    client_setup_ech
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1153
      functionLinenumberEnd: 1180
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          161
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - clear_ech
        - duplicate_as_str
        - ptls_buffer__do_pushv
        - ptls_buffer_init
        - ptls_hpke_setup_base_s
        - ptls_iovec_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1159,5'
          Dst:             ptls_buffer_init
        - Src:             'lib/picotls.c:1160,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1161,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:1163,39'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1162,16'
          Dst:             ptls_hpke_setup_base_s
        - Src:             'lib/picotls.c:1172,36'
          Dst:             duplicate_as_str
        - Src:             'lib/picotls.c:1179,9'
          Dst:             clear_ech
    - functionName:    client_setup_ech_grease
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1185
      functionLinenumberEnd: 1225
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          224
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - clear_ech
        - duplicate_as_str
        - ptls_aead_new_direct
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1207,17'
          Dst:             ptls_aead_new_direct
        - Src:             'lib/picotls.c:1218,63'
          Dst:             strlen
        - Src:             'lib/picotls.c:1218,36'
          Dst:             duplicate_as_str
        - Src:             'lib/picotls.c:1224,5'
          Dst:             clear_ech
    - functionName:    decode_stored_session_ticket
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1566
      functionLinenumberEnd: 1624
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         83
      ICount:          473
      EdgeCount:       108
      CyclomaticComplexity: 27
      functionsReached:
        - decode_new_session_ticket
        - ptls_decode16
        - ptls_decode64
        - ptls_decode_quicint
        - ptls_iovec_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1574,16'
          Dst:             ptls_decode64
        - Src:             'lib/picotls.c:1576,16'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:1578,16'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:1580,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:1580,5'
          Dst:             decode_new_session_ticket
        - Src:             'lib/picotls.c:1585,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:1585,5'
          Dst:             ptls_iovec_init
    - functionName:    encode_client_hello
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2166
      functionLinenumberEnd: 2349
      functionDepth:   0
      returnType:      int
      argCount:        18
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1345
      ICount:          6294
      EdgeCount:       1696
      CyclomaticComplexity: 353
      functionsReached:
        - __assert_fail
        - emit_server_name_extension
        - outer_ech_header_size
        - ptls__key_schedule_update_hash
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - ptls_buffer_reserve
        - push_additional_extensions
        - push_key_share_entry
        - push_signature_algorithms
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:2169,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             outer_ech_header_size
        - Src:             'lib/picotls.c:2171,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             push_key_share_entry
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             emit_server_name_extension
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             push_signature_algorithms
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             push_additional_extensions
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2171,5'
          Dst:             ptls__key_schedule_update_hash
    - functionName:    update_ch_hash_and_binder
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2358
      functionLinenumberEnd: 2372
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          96
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calc_verify_data
        - ptls__key_schedule_update_hash
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:2364,9'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:2366,20'
          Dst:             calc_verify_data
        - Src:             'lib/picotls.c:2369,5'
          Dst:             ptls__key_schedule_update_hash
    - functionName:    ptls_aead_encrypt
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2104
      functionLinenumberEnd: 2106
      functionDepth:   0
      returnType:      size_t
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          45
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    outer_ech_header_size
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2150
      functionLinenumberEnd: 2151
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    push_key_share_entry
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2070
      functionLinenumberEnd: 2077
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          189
      EdgeCount:       48
      CyclomaticComplexity: 11
      functionsReached:
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:2073,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2074,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2074,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2074,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
    - functionName:    emit_server_name_extension
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2133
      functionLinenumberEnd: 2143
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         62
      ICount:          288
      EdgeCount:       78
      CyclomaticComplexity: 18
      functionsReached:
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:2136,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2136,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2136,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2136,5'
          Dst:             strlen
        - Src:             'lib/picotls.c:2136,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:2136,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:2136,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
    - functionName:    decode_new_session_ticket
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1520
      functionLinenumberEnd: 1560
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         119
      ICount:          647
      EdgeCount:       152
      CyclomaticComplexity: 35
      functionsReached:
        - extension_bitmap_testandset
        - ptls_decode16
        - ptls_decode32
        - ptls_decode_quicint
        - ptls_iovec_init
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/picotls.c:1542,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:1524,16'
          Dst:             ptls_decode32
        - Src:             'lib/picotls.c:1526,16'
          Dst:             ptls_decode32
        - Src:             'lib/picotls.c:1528,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:1528,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1532,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:1532,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1542,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:1542,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:1542,5'
          Dst:             extension_bitmap_testandset
        - Src:             'lib/picotls.c:1542,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:1542,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1542,5'
          Dst:             ptls_decode32
    - functionName:    duplicate_as_str
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 563
      functionLinenumberEnd: 571
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    decode_one_ech_config
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1022
      functionLinenumberEnd: 1110
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         170
      ICount:          945
      EdgeCount:       220
      CyclomaticComplexity: 52
      functionsReached:
        - duplicate_as_str
        - ptls_decode16
        - ptls_decode8
        - ptls_decode_quicint
        - ptls_iovec_init
        - ptls_server_name_is_ipaddr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1028,16'
          Dst:             ptls_decode8
        - Src:             'lib/picotls.c:1031,16'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:1039,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:1039,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1047,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:1047,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:1047,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:1065,16'
          Dst:             ptls_decode8
        - Src:             'lib/picotls.c:1077,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:1077,5'
          Dst:             duplicate_as_str
        - Src:             'lib/picotls.c:1077,5'
          Dst:             ptls_server_name_is_ipaddr
        - Src:             'lib/picotls.c:1077,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:1094,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:1094,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:1094,5'
          Dst:             ptls_decode_quicint
    - functionName:    inet_pton
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    client_ech_select_hello
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2839
      functionLinenumberEnd: 2872
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          265
      EdgeCount:       45
      CyclomaticComplexity: 10
      functionsReached:
        - ech_calc_confirmation
        - key_schedule_select_outer
        - ptls_aead_free
        - ptls_get_log_state
        - ptls_log__do_push_element_bool
        - ptls_log__do_push_element_unsigned64
        - ptls_log__do_write_end
        - ptls_log__do_write_start
        - ptls_log_conn_maybe_active
        - ptls_log_getsni_ptls
        - ptls_log_point_maybe_active
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:2848,20'
          Dst:             ech_calc_confirmation
        - Src:             'lib/picotls.c:2864,5'
          Dst:             ptls_aead_free
        - Src:             'lib/picotls.c:2866,5'
          Dst:             key_schedule_select_outer
        - Src:             'lib/picotls.c:2870,5'
          Dst:             ptls_log_point_maybe_active
        - Src:             'lib/picotls.c:2870,5'
          Dst:             ptls_get_log_state
        - Src:             'lib/picotls.c:2870,5'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:2870,5'
          Dst:             ptls_log_conn_maybe_active
        - Src:             'lib/picotls.c:2870,5'
          Dst:             ptls_log__do_write_start
        - Src:             'lib/picotls.c:2870,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:2870,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:2870,5'
          Dst:             ptls_log__do_push_element_bool
        - Src:             'lib/picotls.c:2870,5'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:2870,5'
          Dst:             ptls_log__do_write_end
    - functionName:    key_schedule_select_cipher
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1350
      functionLinenumberEnd: 1384
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          214
      EdgeCount:       40
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - key_schedule_extract
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1354,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:1359,13'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:1367,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:1378,20'
          Dst:             key_schedule_extract
    - functionName:    decode_server_hello
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2629
      functionLinenumberEnd: 2787
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         207
      ICount:          1119
      EdgeCount:       268
      CyclomaticComplexity: 63
      functionsReached:
        - __assert_fail
        - decode_key_share_entry
        - extension_bitmap_testandset
        - is_supported_version
        - memcmp
        - ptls_decode16
        - ptls_decode8
        - ptls_decode_quicint
        - ptls_find_cipher_suite
        - ptls_iovec_init
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/picotls.c:2695,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:2646,28'
          Dst:             memcmp
        - Src:             'lib/picotls.c:2654,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:2654,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:2665,20'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:2668,38'
          Dst:             ptls_find_cipher_suite
        - Src:             'lib/picotls.c:2673,13'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:2683,20'
          Dst:             ptls_decode8
        - Src:             'lib/picotls.c:2695,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:2695,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:2695,5'
          Dst:             extension_bitmap_testandset
        - Src:             'lib/picotls.c:2695,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:2695,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:2695,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:2695,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:2695,5'
          Dst:             decode_key_share_entry
        - Src:             'lib/picotls.c:2695,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:2695,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:2695,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:2695,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:2695,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:2695,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:2763,10'
          Dst:             is_supported_version
    - functionName:    ptls_find_cipher_suite
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2619
      functionLinenumberEnd: 2626
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          60
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    handle_key_update
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5082
      functionLinenumberEnd: 5101
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          104
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - update_traffic_key
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5091,16'
          Dst:             update_traffic_key
    - functionName:    update_traffic_key
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5064
      functionLinenumberEnd: 5078
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          106
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ptls_hkdf_expand_label
        - ptls_iovec_init
        - setup_traffic_protection
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5070,72'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:5071,54'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:5070,16'
          Dst:             ptls_hkdf_expand_label
        - Src:             'lib/picotls.c:5074,11'
          Dst:             setup_traffic_protection
    - functionName:    client_handle_new_session_ticket
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3573
      functionLinenumberEnd: 3612
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         87
      ICount:          542
      EdgeCount:       110
      CyclomaticComplexity: 25
      functionsReached:
        - decode_new_session_ticket
        - derive_resumption_secret
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - ptls_buffer_dispose
        - ptls_buffer_init
        - ptls_buffer_reserve
        - ptls_iovec_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:3581,20'
          Dst:             decode_new_session_ticket
        - Src:             'lib/picotls.c:3592,5'
          Dst:             ptls_buffer_init
        - Src:             'lib/picotls.c:3593,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3594,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3595,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3596,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3596,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3596,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:3597,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3597,5'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:3597,5'
          Dst:             derive_resumption_secret
        - Src:             'lib/picotls.c:3597,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:3605,70'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3610,5'
          Dst:             ptls_buffer_dispose
    - functionName:    client_handle_finished
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3513
      functionLinenumberEnd: 3569
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         88
      ICount:          555
      EdgeCount:       116
      CyclomaticComplexity: 30
      functionsReached:
        - __assert_fail
        - commission_handshake_secret
        - derive_exporter_secret
        - derive_secret
        - key_schedule_extract
        - ptls__key_schedule_update_hash
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - ptls_iovec_init
        - push_change_cipher_spec
        - send_certificate
        - send_certificate_verify
        - send_finished
        - setup_traffic_protection
        - verify_finished
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:3517,16'
          Dst:             verify_finished
        - Src:             'lib/picotls.c:3519,5'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:3522,56'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3522,16'
          Dst:             key_schedule_extract
        - Src:             'lib/picotls.c:3524,16'
          Dst:             setup_traffic_protection
        - Src:             'lib/picotls.c:3526,16'
          Dst:             derive_secret
        - Src:             'lib/picotls.c:3528,16'
          Dst:             derive_exporter_secret
        - Src:             'lib/picotls.c:3533,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:3535,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3535,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:3535,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:3535,13'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:3537,20'
          Dst:             commission_handshake_secret
        - Src:             'lib/picotls.c:3541,16'
          Dst:             push_change_cipher_spec
        - Src:             'lib/picotls.c:3545,20'
          Dst:             send_certificate
        - Src:             'lib/picotls.c:3547,19'
          Dst:             send_certificate_verify
        - Src:             'lib/picotls.c:3550,51'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3555,11'
          Dst:             send_finished
        - Src:             'lib/picotls.c:3558,16'
          Dst:             setup_traffic_protection
    - functionName:    client_handle_certificate_verify
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3489
      functionLinenumberEnd: 3497
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - handle_certificate_verify
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:3490,15'
          Dst:             handle_certificate_verify
    - functionName:    client_handle_compressed_certificate
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3387
      functionLinenumberEnd: 3430
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          293
      EdgeCount:       59
      CyclomaticComplexity: 16
      functionsReached:
        - client_do_handle_certificate
        - ptls__key_schedule_update_hash
        - ptls_decode16
        - ptls_decode24
        - ptls_decode_quicint
        - ptls_iovec_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:3400,16'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:3402,16'
          Dst:             ptls_decode24
        - Src:             'lib/picotls.c:3412,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3412,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3412,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3421,16'
          Dst:             client_do_handle_certificate
        - Src:             'lib/picotls.c:3424,5'
          Dst:             ptls__key_schedule_update_hash
    - functionName:    ptls_decode24
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 937
      functionLinenumberEnd: 943
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          56
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    client_handle_certificate
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3374
      functionLinenumberEnd: 3384
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          57
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - client_do_handle_certificate
        - ptls__key_schedule_update_hash
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:3377,16'
          Dst:             client_do_handle_certificate
        - Src:             'lib/picotls.c:3380,5'
          Dst:             ptls__key_schedule_update_hash
    - functionName:    client_handle_certificate_request
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3290
      functionLinenumberEnd: 3307
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          108
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - decode_certificate_request
        - ptls__key_schedule_update_hash
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:3294,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:3296,16'
          Dst:             decode_certificate_request
        - Src:             'lib/picotls.c:3304,5'
          Dst:             ptls__key_schedule_update_hash
    - functionName:    client_handle_encrypted_extensions
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3007
      functionLinenumberEnd: 3126
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         185
      ICount:          1033
      EdgeCount:       242
      CyclomaticComplexity: 59
      functionsReached:
        - client_decode_ech_config_list
        - collect_unknown_extension
        - extension_bitmap_testandset
        - ptls__key_schedule_update_hash
        - ptls_decode16
        - ptls_decode_quicint
        - ptls_iovec_init
        - ptls_server_name_is_ipaddr
        - ptls_set_negotiated_protocol
        - report_unknown_extensions
        - should_collect_unknown_extension
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/picotls.c:3015,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:3015,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3015,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:3015,5'
          Dst:             extension_bitmap_testandset
        - Src:             'lib/picotls.c:3015,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3015,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3015,5'
          Dst:             ptls_server_name_is_ipaddr
        - Src:             'lib/picotls.c:3015,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3015,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:3015,5'
          Dst:             ptls_set_negotiated_protocol
        - Src:             'lib/picotls.c:3015,5'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:3015,5'
          Dst:             client_decode_ech_config_list
        - Src:             'lib/picotls.c:3015,5'
          Dst:             should_collect_unknown_extension
        - Src:             'lib/picotls.c:3015,5'
          Dst:             collect_unknown_extension
        - Src:             'lib/picotls.c:3115,16'
          Dst:             report_unknown_extensions
        - Src:             'lib/picotls.c:3118,5'
          Dst:             ptls__key_schedule_update_hash
    - functionName:    ptls_set_negotiated_protocol
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5635
      functionLinenumberEnd: 5645
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          68
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - duplicate_as_str
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5638,100'
          Dst:             strlen
        - Src:             'lib/picotls.c:5638,38'
          Dst:             duplicate_as_str
    - functionName:    client_handle_hello
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2877
      functionLinenumberEnd: 2972
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         78
      ICount:          589
      EdgeCount:       106
      CyclomaticComplexity: 30
      functionsReached:
        - __assert_fail
        - clear_ech
        - client_ech_select_hello
        - decode_server_hello
        - derive_secret
        - handle_hello_retry_request
        - key_schedule_extract
        - key_schedule_select_cipher
        - key_schedule_transform_post_ch1hash
        - ptls__key_schedule_update_hash
        - ptls_iovec_init
        - setup_traffic_protection
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:2882,16'
          Dst:             decode_server_hello
        - Src:             'lib/picotls.c:2891,20'
          Dst:             key_schedule_select_cipher
        - Src:             'lib/picotls.c:2893,9'
          Dst:             key_schedule_transform_post_ch1hash
        - Src:             'lib/picotls.c:2900,24'
          Dst:             client_ech_select_hello
        - Src:             'lib/picotls.c:2903,9'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:2904,16'
          Dst:             handle_hello_retry_request
        - Src:             'lib/picotls.c:2908,43'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:2907,16'
          Dst:             key_schedule_select_cipher
        - Src:             'lib/picotls.c:2918,20'
          Dst:             client_ech_select_hello
        - Src:             'lib/picotls.c:2923,5'
          Dst:             clear_ech
        - Src:             'lib/picotls.c:2935,5'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:2939,13'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:2944,16'
          Dst:             key_schedule_extract
        - Src:             'lib/picotls.c:2946,16'
          Dst:             setup_traffic_protection
        - Src:             'lib/picotls.c:2953,20'
          Dst:             derive_secret
        - Src:             'lib/picotls.c:2959,20'
          Dst:             setup_traffic_protection
    - functionName:    ntoh24
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 536
      functionLinenumberEnd: 537
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          22
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    message_buffer_is_overflow
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5853
      functionLinenumberEnd: 5859
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aead_encrypt
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 701
      functionLinenumberEnd: 704
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          25
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    encode64
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 557
      functionLinenumberEnd: 560
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          36
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    build_tls12_aad
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 754
      functionLinenumberEnd: 762
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - char
        - size_t
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          62
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    parse_record_header
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5104
      functionLinenumberEnd: 5114
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          61
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ntoh16
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5106,20'
          Dst:             ntoh16
        - Src:             'lib/picotls.c:5107,19'
          Dst:             ntoh16
    - functionName:    handle_alert
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5842
      functionLinenumberEnd: 5850
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aead_decrypt
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 708
      functionLinenumberEnd: 715
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          39
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    parse_record
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5117
      functionLinenumberEnd: 5191
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          390
      EdgeCount:       67
      CyclomaticComplexity: 16
      functionsReached:
        - __assert_fail
        - parse_record_header
        - ptls_buffer_init
        - ptls_buffer_reserve
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/picotls.c:5126,9'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:5120,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:5139,20'
          Dst:             parse_record_header
        - Src:             'lib/picotls.c:5153,9'
          Dst:             ptls_buffer_init
        - Src:             'lib/picotls.c:5154,20'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:5164,16'
          Dst:             parse_record_header
        - Src:             'lib/picotls.c:5170,20'
          Dst:             ptls_buffer_reserve
    - functionName:    commit_record_message
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 873
      functionLinenumberEnd: 888
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          101
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - buffer_encrypt_record
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:878,15'
          Dst:             buffer_encrypt_record
        - Src:             'lib/picotls.c:882,9'
          Dst:             __assert_fail
    - functionName:    buffer_encrypt_record
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 820
      functionLinenumberEnd: 858
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          224
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - aead_encrypt
        - buffer_push_encrypted_records
        - ptls_buffer_reserve_aligned
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:829,20'
          Dst:             ptls_buffer_reserve_aligned
        - Src:             'lib/picotls.c:831,32'
          Dst:             aead_encrypt
        - Src:             'lib/picotls.c:832,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:850,11'
          Dst:             buffer_push_encrypted_records
    - functionName:    buffer_push_encrypted_records
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 772
      functionLinenumberEnd: 816
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         86
      ICount:          528
      EdgeCount:       108
      CyclomaticComplexity: 24
      functionsReached:
        - __assert_fail
        - aead_encrypt
        - build_tls12_aad
        - encode64
        - ptls_aead_encrypt
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - ptls_buffer_reserve_aligned
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:780,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:780,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:780,13'
          Dst:             ptls_buffer_reserve_aligned
        - Src:             'lib/picotls.c:780,13'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:780,13'
          Dst:             encode64
        - Src:             'lib/picotls.c:780,13'
          Dst:             build_tls12_aad
        - Src:             'lib/picotls.c:780,13'
          Dst:             ptls_aead_encrypt
        - Src:             'lib/picotls.c:780,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:804,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:804,13'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:804,13'
          Dst:             ptls_buffer_reserve_aligned
        - Src:             'lib/picotls.c:804,13'
          Dst:             aead_encrypt
        - Src:             'lib/picotls.c:804,13'
          Dst:             ptls_buffer__adjust_quic_blocksize
    - functionName:    duplicate_stringlist
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6938
      functionLinenumberEnd: 6952
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          78
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - strdup
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6940,16'
          Dst:             strdup
        - Src:             'lib/picotls.c:6945,58'
          Dst:             strlen
    - functionName:    strdup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_log_add_fd
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7260
      functionLinenumberEnd: 7330
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - float
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          286
      EdgeCount:       57
      CyclomaticComplexity: 16
      functionsReached:
        - duplicate_stringlist
        - inet_pton
        - memcmp
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - ptls_build_v4_mapped_v6_address
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:7267,5'
          Dst:             pthread_mutex_lock
        - Src:             'lib/picotls.c:7269,19'
          Dst:             duplicate_stringlist
        - Src:             'lib/picotls.c:7273,17'
          Dst:             duplicate_stringlist
        - Src:             'lib/picotls.c:7279,88'
          Dst:             strlen
        - Src:             'lib/picotls.c:7289,18'
          Dst:             inet_pton
        - Src:             'lib/picotls.c:7291,22'
          Dst:             inet_pton
        - Src:             'lib/picotls.c:7293,17'
          Dst:             ptls_build_v4_mapped_v6_address
        - Src:             'lib/picotls.c:7295,17'
          Dst:             memcmp
        - Src:             'lib/picotls.c:7286,88'
          Dst:             strlen
        - Src:             'lib/picotls.c:7324,5'
          Dst:             pthread_mutex_unlock
    - functionName:    ptls_build_v4_mapped_v6_address
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6851
      functionLinenumberEnd: 6855
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_log_num_lost
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7251
      functionLinenumberEnd: 7253
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_log_init_conn_state
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7226
      functionLinenumberEnd: 7248
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          82
      EdgeCount:       10
      CyclomaticComplexity: 2
      functionsReached:
        - ptls_build_v4_mapped_v6_address
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/picotls.c:7237,9'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:7239,13'
          Dst:             ptls_build_v4_mapped_v6_address
    - functionName:    ptls_log__do_push_element_unsigned32
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7101
      functionLinenumberEnd: 7103
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pushf_logbuf_or_invalidate
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:7102,5'
          Dst:             pushf_logbuf_or_invalidate
    - functionName:    ptls_log__do_push_element_signed64
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7096
      functionLinenumberEnd: 7098
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pushf_logbuf_or_invalidate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:7097,5'
          Dst:             pushf_logbuf_or_invalidate
    - functionName:    ptls_log__do_push_element_signed32
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7091
      functionLinenumberEnd: 7093
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pushf_logbuf_or_invalidate
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:7092,5'
          Dst:             pushf_logbuf_or_invalidate
    - functionName:    ptls_log__do_push_element_unsafestr
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7072
      functionLinenumberEnd: 7078
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          83
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - expand_logbuf_or_invalidate
        - ptls_jsonescape
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:7073,9'
          Dst:             expand_logbuf_or_invalidate
        - Src:             'lib/picotls.c:7075,37'
          Dst:             ptls_jsonescape
    - functionName:    ptls_jsonescape
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6812
      functionLinenumberEnd: 6847
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          178
      EdgeCount:       25
      CyclomaticComplexity: 4
      functionsReached:
        - byte_to_hex
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/picotls.c:6817,9'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:6838,23'
          Dst:             byte_to_hex
    - functionName:    ptls_ech_encode_config
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6770
      functionLinenumberEnd: 6790
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         173
      ICount:          829
      EdgeCount:       217
      CyclomaticComplexity: 46
      functionsReached:
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6773,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6774,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6774,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6774,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6774,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6774,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6774,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:6774,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6774,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6774,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6774,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:6774,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6774,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6774,5'
          Dst:             strlen
        - Src:             'lib/picotls.c:6774,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6774,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:6774,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6774,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:6774,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
    - functionName:    handle_server_handshake_message
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5772
      functionLinenumberEnd: 5838
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          370
      EdgeCount:       78
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
        - handle_key_update
        - ptls_get_log_state
        - ptls_log__do_push_element_signed32
        - ptls_log__do_push_element_unsigned32
        - ptls_log__do_push_element_unsigned64
        - ptls_log__do_write_end
        - ptls_log__do_write_start
        - ptls_log_conn_maybe_active
        - ptls_log_getsni_ptls
        - ptls_log_point_maybe_active
        - server_handle_certificate
        - server_handle_certificate_verify
        - server_handle_end_of_early_data
        - server_handle_finished
        - server_handle_hello
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/picotls.c:5776,5'
          Branch Sides:    []
        - Branch String:   'lib/picotls.c:5815,9'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:5780,19'
          Dst:             server_handle_hello
        - Src:             'lib/picotls.c:5787,19'
          Dst:             server_handle_certificate
        - Src:             'lib/picotls.c:5794,19'
          Dst:             server_handle_certificate_verify
        - Src:             'lib/picotls.c:5800,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:5802,19'
          Dst:             server_handle_end_of_early_data
        - Src:             'lib/picotls.c:5809,19'
          Dst:             server_handle_finished
        - Src:             'lib/picotls.c:5817,19'
          Dst:             handle_key_update
        - Src:             'lib/picotls.c:5825,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:5832,5'
          Dst:             ptls_log_point_maybe_active
        - Src:             'lib/picotls.c:5832,5'
          Dst:             ptls_get_log_state
        - Src:             'lib/picotls.c:5832,5'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:5832,5'
          Dst:             ptls_log_conn_maybe_active
        - Src:             'lib/picotls.c:5832,5'
          Dst:             ptls_log__do_write_start
        - Src:             'lib/picotls.c:5832,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:5832,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:5832,5'
          Dst:             ptls_log__do_push_element_unsigned32
        - Src:             'lib/picotls.c:5832,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:5832,5'
          Dst:             ptls_log__do_push_element_signed32
        - Src:             'lib/picotls.c:5832,5'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:5832,5'
          Dst:             ptls_log__do_write_end
    - functionName:    handle_client_handshake_message
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5687
      functionLinenumberEnd: 5767
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         72
      ICount:          398
      EdgeCount:       79
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - client_handle_certificate
        - client_handle_certificate_request
        - client_handle_certificate_verify
        - client_handle_compressed_certificate
        - client_handle_encrypted_extensions
        - client_handle_finished
        - client_handle_hello
        - client_handle_new_session_ticket
        - handle_key_update
        - ptls_get_log_state
        - ptls_log__do_push_element_signed32
        - ptls_log__do_push_element_unsigned32
        - ptls_log__do_push_element_unsigned64
        - ptls_log__do_write_end
        - ptls_log__do_write_start
        - ptls_log_conn_maybe_active
        - ptls_log_getsni_ptls
        - ptls_log_point_maybe_active
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/picotls.c:5691,5'
          Branch Sides:    []
        - Branch String:   'lib/picotls.c:5714,9'
          Branch Sides:    []
        - Branch String:   'lib/picotls.c:5741,9'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:5695,19'
          Dst:             client_handle_hello
        - Src:             'lib/picotls.c:5702,19'
          Dst:             client_handle_encrypted_extensions
        - Src:             'lib/picotls.c:5709,19'
          Dst:             client_handle_certificate_request
        - Src:             'lib/picotls.c:5716,19'
          Dst:             client_handle_certificate
        - Src:             'lib/picotls.c:5719,19'
          Dst:             client_handle_compressed_certificate
        - Src:             'lib/picotls.c:5728,19'
          Dst:             client_handle_certificate_verify
        - Src:             'lib/picotls.c:5735,19'
          Dst:             client_handle_finished
        - Src:             'lib/picotls.c:5743,19'
          Dst:             client_handle_new_session_ticket
        - Src:             'lib/picotls.c:5746,19'
          Dst:             handle_key_update
        - Src:             'lib/picotls.c:5754,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:5761,5'
          Dst:             ptls_log_point_maybe_active
        - Src:             'lib/picotls.c:5761,5'
          Dst:             ptls_get_log_state
        - Src:             'lib/picotls.c:5761,5'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:5761,5'
          Dst:             ptls_log_conn_maybe_active
        - Src:             'lib/picotls.c:5761,5'
          Dst:             ptls_log__do_write_start
        - Src:             'lib/picotls.c:5761,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:5761,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:5761,5'
          Dst:             ptls_log__do_push_element_unsigned32
        - Src:             'lib/picotls.c:5761,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:5761,5'
          Dst:             ptls_log__do_push_element_signed32
        - Src:             'lib/picotls.c:5761,5'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:5761,5'
          Dst:             ptls_log__do_write_end
    - functionName:    handle_handshake_record
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5866
      functionLinenumberEnd: 5928
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          338
      EdgeCount:       44
      CyclomaticComplexity: 11
      functionsReached:
        - message_buffer_is_overflow
        - ntoh24
        - ptls_buffer_dispose
        - ptls_buffer_init
        - ptls_buffer_reserve
        - ptls_iovec_init
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/picotls.c:5896,9'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:5879,13'
          Dst:             message_buffer_is_overflow
        - Src:             'lib/picotls.c:5881,20'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:5892,31'
          Dst:             ntoh24
        - Src:             'lib/picotls.c:5895,32'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:5902,13'
          Dst:             ptls_buffer_dispose
        - Src:             'lib/picotls.c:5911,13'
          Dst:             message_buffer_is_overflow
        - Src:             'lib/picotls.c:5914,13'
          Dst:             ptls_buffer_init
        - Src:             'lib/picotls.c:5915,24'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:5924,9'
          Dst:             ptls_buffer_dispose
    - functionName:    commit_raw_message
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6653
      functionLinenumberEnd: 6669
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          112
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6663,9'
          Dst:             __assert_fail
    - functionName:    begin_raw_message
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6645
      functionLinenumberEnd: 6649
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_client_handle_message
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6712
      functionLinenumberEnd: 6726
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          113
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - handle_client_handshake_message
        - handle_handshake_record
        - ptls_get_read_epoch
        - send_client_hello
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6713,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:6720,16'
          Dst:             send_client_hello
        - Src:             'lib/picotls.c:6722,9'
          Dst:             ptls_get_read_epoch
        - Src:             'lib/picotls.c:6725,12'
          Dst:             handle_handshake_record
        - Src:             'lib/picotls.c:6725,12'
          Dst:             handle_client_handshake_message
    - functionName:    ptls_get_read_epoch
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6673
      functionLinenumberEnd: 6701
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         29
      ICount:          119
      EdgeCount:       56
      CyclomaticComplexity: 29
      functionsReached:
        - __assert_fail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/picotls.c:6674,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:6682,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:6698,9'
          Dst:             __assert_fail
    - functionName:    ptls_server_handle_message
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6730
      functionLinenumberEnd: 6748
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          150
      EdgeCount:       26
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - handle_handshake_record
        - handle_server_handshake_message
        - ptls_get_read_epoch
        - server_finish_handshake
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6731,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:6738,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:6739,16'
          Dst:             server_finish_handshake
        - Src:             'lib/picotls.c:6742,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:6744,9'
          Dst:             ptls_get_read_epoch
        - Src:             'lib/picotls.c:6747,12'
          Dst:             handle_handshake_record
        - Src:             'lib/picotls.c:6747,12'
          Dst:             handle_server_handshake_message
    - functionName:    ptls_handle_message
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6705
      functionLinenumberEnd: 6707
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ptls_client_handle_message
        - ptls_server_handle_message
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6706,29'
          Dst:             ptls_server_handle_message
        - Src:             'lib/picotls.c:6707,29'
          Dst:             ptls_client_handle_message
    - functionName:    get_time
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6625
      functionLinenumberEnd: 6628
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gettimeofday
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6627,5'
          Dst:             gettimeofday
    - functionName:    ptls_aead__build_iv
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6588
      functionLinenumberEnd: 6601
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          80
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_aead_set_iv
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2098
      functionLinenumberEnd: 2100
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_aead_get_iv
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2093
      functionLinenumberEnd: 2095
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_aead_xor_iv
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6577
      functionLinenumberEnd: 6585
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          58
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - ptls_aead_get_iv
        - ptls_aead_set_iv
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6581,5'
          Dst:             ptls_aead_get_iv
        - Src:             'lib/picotls.c:6584,5'
          Dst:             ptls_aead_set_iv
    - functionName:    ptls_cipher_free
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6524
      functionLinenumberEnd: 6527
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_cipher_new
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6510
      functionLinenumberEnd: 6521
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          68
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_calc_hash
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6365
      functionLinenumberEnd: 6373
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_export_secret
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6275
      functionLinenumberEnd: 6311
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          212
      EdgeCount:       26
      CyclomaticComplexity: 6
      functionsReached:
        - ptls_calc_hash
        - ptls_hkdf_expand_label
        - ptls_iovec_init
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/picotls.c:6283,13'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:6298,16'
          Dst:             ptls_calc_hash
        - Src:             'lib/picotls.c:6301,80'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:6302,46'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:6301,16'
          Dst:             ptls_hkdf_expand_label
        - Src:             'lib/picotls.c:6304,56'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:6305,34'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:6304,11'
          Dst:             ptls_hkdf_expand_label
    - functionName:    ptls_get_record_overhead
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6248
      functionLinenumberEnd: 6256
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          50
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_update_key
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6240
      functionLinenumberEnd: 6244
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6241,5'
          Dst:             __assert_fail
    - functionName:    update_send_key
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6194
      functionLinenumberEnd: 6210
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          292
      EdgeCount:       67
      CyclomaticComplexity: 16
      functionsReached:
        - init_record_message_emitter
        - ptls__key_schedule_update_hash
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - update_traffic_key
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6198,5'
          Dst:             init_record_message_emitter
        - Src:             'lib/picotls.c:6201,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6201,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6201,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6201,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:6201,5'
          Dst:             ptls__key_schedule_update_hash
        - Src:             'lib/picotls.c:6203,16'
          Dst:             update_traffic_key
    - functionName:    init_record_message_emitter
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6085
      functionLinenumberEnd: 6088
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          30
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_send
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6214
      functionLinenumberEnd: 6237
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          165
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - buffer_push_encrypted_records
        - update_send_key
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6230,20'
          Dst:             update_send_key
        - Src:             'lib/picotls.c:6236,12'
          Dst:             buffer_push_encrypted_records
    - functionName:    handle_input_tls12
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6020
      functionLinenumberEnd: 6082
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          268
      EdgeCount:       35
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - build_tls12_aad
        - handle_alert
        - parse_record
        - ptls_aead_decrypt
        - ptls_buffer_dispose
        - ptls_buffer_reserve
        - ptls_decode64
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/picotls.c:6064,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:6025,16'
          Dst:             parse_record
        - Src:             'lib/picotls.c:6027,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:6035,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:6036,20'
          Dst:             ptls_decode64
        - Src:             'lib/picotls.c:6051,5'
          Dst:             build_tls12_aad
        - Src:             'lib/picotls.c:6054,16'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:6056,9'
          Dst:             ptls_aead_decrypt
        - Src:             'lib/picotls.c:6071,15'
          Dst:             handle_alert
        - Src:             'lib/picotls.c:6079,5'
          Dst:             ptls_buffer_dispose
    - functionName:    ptls_receive
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6154
      functionLinenumberEnd: 6190
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          164
      EdgeCount:       30
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - handle_input
        - handle_input_tls12
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/picotls.c:6171,9'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:6159,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:6165,19'
          Dst:             handle_input_tls12
        - Src:             'lib/picotls.c:6167,19'
          Dst:             handle_input
    - functionName:    handle_input
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5932
      functionLinenumberEnd: 6017
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         84
      ICount:          486
      EdgeCount:       110
      CyclomaticComplexity: 28
      functionsReached:
        - __assert_fail
        - aead_decrypt
        - handle_alert
        - handle_handshake_record
        - parse_record
        - ptls_buffer_dispose
        - ptls_buffer_reserve
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/picotls.c:5985,9'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:5937,16'
          Dst:             parse_record
        - Src:             'lib/picotls.c:5939,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:5956,20'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/picotls.c:5958,20'
          Dst:             aead_decrypt
        - Src:             'lib/picotls.c:5981,15'
          Dst:             handle_handshake_record
        - Src:             'lib/picotls.c:5999,19'
          Dst:             handle_alert
        - Src:             'lib/picotls.c:6008,5'
          Dst:             ptls_buffer_dispose
    - functionName:    ptls_send_alert
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6259
      functionLinenumberEnd: 6271
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          225
      EdgeCount:       58
      CyclomaticComplexity: 14
      functionsReached:
        - buffer_encrypt_record
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6263,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6263,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6263,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:6263,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:6266,20'
          Dst:             buffer_encrypt_record
    - functionName:    ptls_handshake
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6091
      functionLinenumberEnd: 6151
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          280
      EdgeCount:       53
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - handle_input
        - init_record_message_emitter
        - ptls_buffer_dispose
        - ptls_buffer_init
        - ptls_send_alert
        - send_client_hello
        - server_finish_handshake
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/picotls.c:6101,5'
          Branch Sides:    []
        - Branch String:   'lib/picotls.c:6128,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:6095,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:6097,5'
          Dst:             init_record_message_emitter
        - Src:             'lib/picotls.c:6103,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:6104,16'
          Dst:             send_client_hello
        - Src:             'lib/picotls.c:6107,16'
          Dst:             server_finish_handshake
        - Src:             'lib/picotls.c:6115,5'
          Dst:             ptls_buffer_init
        - Src:             'lib/picotls.c:6121,15'
          Dst:             handle_input
        - Src:             'lib/picotls.c:6123,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:6126,5'
          Dst:             ptls_buffer_dispose
        - Src:             'lib/picotls.c:6143,17'
          Dst:             ptls_send_alert
    - functionName:    ptls_get_data_ptr
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5672
      functionLinenumberEnd: 5673
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_is_psk_handshake
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5653
      functionLinenumberEnd: 5654
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_handshake_is_complete
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5648
      functionLinenumberEnd: 5649
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_get_negotiated_protocol
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5630
      functionLinenumberEnd: 5631
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_get_traffic_keys
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5599
      functionLinenumberEnd: 5608
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          89
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - get_traffic_keys
        - ptls_iovec_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5603,105'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:5603,16'
          Dst:             get_traffic_keys
    - functionName:    ptls_get_cipher
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5586
      functionLinenumberEnd: 5587
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_get_client_random
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5581
      functionLinenumberEnd: 5582
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ptls_iovec_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5582,12'
          Dst:             ptls_iovec_init
    - functionName:    ptls_get_async_job
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5576
      functionLinenumberEnd: 5577
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_set_context
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5569
      functionLinenumberEnd: 5573
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - update_open_count
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5570,5'
          Dst:             update_open_count
        - Src:             'lib/picotls.c:5571,5'
          Dst:             update_open_count
    - functionName:    update_open_count
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5194
      functionLinenumberEnd: 5197
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_get_context
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5564
      functionLinenumberEnd: 5565
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    free_exporter_master_secret
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1493
      functionLinenumberEnd: 1500
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          77
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:1497,5'
          Dst:             __assert_fail
    - functionName:    ptls_free
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5526
      functionLinenumberEnd: 5561
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         53
      ICount:          409
      EdgeCount:       66
      CyclomaticComplexity: 15
      functionsReached:
        - clear_ech
        - free_exporter_master_secret
        - key_schedule_free
        - ptls_aead_free
        - ptls_buffer_dispose
        - ptls_get_log_state
        - ptls_iovec_init
        - ptls_log__do_push_element_unsigned64
        - ptls_log__do_write_end
        - ptls_log__do_write_start
        - ptls_log_conn_maybe_active
        - ptls_log_getsni_ptls
        - ptls_log_point_maybe_active
        - update_open_count
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5528,5'
          Dst:             ptls_log_point_maybe_active
        - Src:             'lib/picotls.c:5528,5'
          Dst:             ptls_get_log_state
        - Src:             'lib/picotls.c:5528,5'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:5528,5'
          Dst:             ptls_log_conn_maybe_active
        - Src:             'lib/picotls.c:5528,5'
          Dst:             ptls_log__do_write_start
        - Src:             'lib/picotls.c:5528,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:5528,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:5528,5'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:5528,5'
          Dst:             ptls_log__do_write_end
        - Src:             'lib/picotls.c:5530,5'
          Dst:             ptls_buffer_dispose
        - Src:             'lib/picotls.c:5531,5'
          Dst:             ptls_buffer_dispose
        - Src:             'lib/picotls.c:5532,5'
          Dst:             free_exporter_master_secret
        - Src:             'lib/picotls.c:5533,5'
          Dst:             free_exporter_master_secret
        - Src:             'lib/picotls.c:5535,9'
          Dst:             key_schedule_free
        - Src:             'lib/picotls.c:5537,9'
          Dst:             ptls_aead_free
        - Src:             'lib/picotls.c:5539,9'
          Dst:             ptls_aead_free
        - Src:             'lib/picotls.c:5542,5'
          Dst:             clear_ech
        - Src:             'lib/picotls.c:5548,89'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:5553,75'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:5553,101'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:5558,5'
          Dst:             update_open_count
    - functionName:    import_tls13_traffic_protection
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5410
      functionLinenumberEnd: 5423
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          98
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - ptls_decode64
        - setup_traffic_protection
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5416,9'
          Dst:             ptls_decode64
        - Src:             'lib/picotls.c:5419,9'
          Dst:             setup_traffic_protection
    - functionName:    import_tls12_traffic_protection
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5383
      functionLinenumberEnd: 5407
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          212
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - ptls_aead_new_direct
        - ptls_decode64
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5394,9'
          Dst:             ptls_decode64
        - Src:             'lib/picotls.c:5397,13'
          Dst:             ptls_decode64
        - Src:             'lib/picotls.c:5403,21'
          Dst:             ptls_aead_new_direct
    - functionName:    ptls_set_server_name
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5616
      functionLinenumberEnd: 5627
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          68
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - duplicate_as_str
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5620,89'
          Dst:             strlen
        - Src:             'lib/picotls.c:5620,18'
          Dst:             duplicate_as_str
    - functionName:    ptls_import
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5426
      functionLinenumberEnd: 5522
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         159
      ICount:          885
      EdgeCount:       207
      CyclomaticComplexity: 50
      functionsReached:
        - import_tls12_traffic_protection
        - import_tls13_traffic_protection
        - key_schedule_new
        - new_instance
        - ptls_decode16
        - ptls_decode_quicint
        - ptls_find_cipher_suite
        - ptls_free
        - ptls_is_server
        - ptls_set_negotiated_protocol
        - ptls_set_server_name
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/picotls.c:5434,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/picotls.c:5434,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:5434,5'
          Dst:             new_instance
        - Src:             'lib/picotls.c:5434,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:5434,5'
          Dst:             ptls_decode16
        - Src:             'lib/picotls.c:5434,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:5434,5'
          Dst:             ptls_set_server_name
        - Src:             'lib/picotls.c:5434,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:5434,5'
          Dst:             ptls_set_negotiated_protocol
        - Src:             'lib/picotls.c:5434,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:5434,5'
          Dst:             ptls_find_cipher_suite
        - Src:             'lib/picotls.c:5434,5'
          Dst:             import_tls12_traffic_protection
        - Src:             'lib/picotls.c:5434,5'
          Dst:             import_tls12_traffic_protection
        - Src:             'lib/picotls.c:5434,5'
          Dst:             ptls_find_cipher_suite
        - Src:             'lib/picotls.c:5434,5'
          Dst:             key_schedule_new
        - Src:             'lib/picotls.c:5434,5'
          Dst:             import_tls13_traffic_protection
        - Src:             'lib/picotls.c:5434,5'
          Dst:             import_tls13_traffic_protection
        - Src:             'lib/picotls.c:5434,5'
          Dst:             ptls_decode_quicint
        - Src:             'lib/picotls.c:5513,21'
          Dst:             ptls_is_server
        - Src:             'lib/picotls.c:5518,13'
          Dst:             ptls_free
    - functionName:    new_instance
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5200
      functionLinenumberEnd: 5232
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         45
      ICount:          254
      EdgeCount:       57
      CyclomaticComplexity: 14
      functionsReached:
        - __assert_fail
        - ptls_log_init_conn_state
        - update_open_count
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5204,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:5206,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:5210,9'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:5218,5'
          Dst:             update_open_count
        - Src:             'lib/picotls.c:5227,9'
          Dst:             ptls_log_init_conn_state
    - functionName:    ptls_get_protocol_version
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5591
      functionLinenumberEnd: 5596
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          28
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_export
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5349
      functionLinenumberEnd: 5379
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         196
      ICount:          1072
      EdgeCount:       247
      CyclomaticComplexity: 53
      functionsReached:
        - export_tls12_params
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - ptls_get_protocol_version
        - ptls_iovec_init
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5351,86'
          Dst:             strlen
        - Src:             'lib/picotls.c:5351,9'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:5359,9'
          Dst:             ptls_get_protocol_version
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5360,9'
          Dst:             strlen
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:5360,9'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:5369,20'
          Dst:             export_tls12_params
    - functionName:    export_tls12_params
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5288
      functionLinenumberEnd: 5305
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         203
      ICount:          1053
      EdgeCount:       254
      CyclomaticComplexity: 53
      functionsReached:
        - ptls_buffer__adjust_quic_blocksize
        - ptls_buffer__do_pushv
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             strlen
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
        - Src:             'lib/picotls.c:5291,5'
          Dst:             ptls_buffer__adjust_quic_blocksize
    - functionName:    ptls_tls12_phash
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6470
      functionLinenumberEnd: 6507
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          205
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - ptls_hmac_create
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:6475,17'
          Dst:             ptls_hmac_create
        - Src:             'lib/picotls.c:6480,35'
          Dst:             strlen
        - Src:             'lib/picotls.c:6488,39'
          Dst:             strlen
    - functionName:    ptls_build_tls12_export_params
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5311
      functionLinenumberEnd: 5345
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          222
      EdgeCount:       23
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - export_tls12_params
        - ptls_iovec_init
        - ptls_tls12_phash
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5312,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:5318,5'
          Dst:             __assert_fail
        - Src:             'lib/picotls.c:5322,71'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:5323,48'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:5322,14'
          Dst:             ptls_tls12_phash
        - Src:             'lib/picotls.c:5339,11'
          Dst:             export_tls12_params
    - functionName:    ptls_server_new
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5252
      functionLinenumberEnd: 5259
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          153
      EdgeCount:       30
      CyclomaticComplexity: 6
      functionsReached:
        - new_instance
        - ptls_get_log_state
        - ptls_log__do_push_element_bool
        - ptls_log__do_push_element_unsigned64
        - ptls_log__do_write_end
        - ptls_log__do_write_start
        - ptls_log_conn_maybe_active
        - ptls_log_getsni_ptls
        - ptls_log_point_maybe_active
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5253,19'
          Dst:             new_instance
        - Src:             'lib/picotls.c:5258,5'
          Dst:             ptls_log_point_maybe_active
        - Src:             'lib/picotls.c:5258,5'
          Dst:             ptls_get_log_state
        - Src:             'lib/picotls.c:5258,5'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:5258,5'
          Dst:             ptls_log_conn_maybe_active
        - Src:             'lib/picotls.c:5258,5'
          Dst:             ptls_log__do_write_start
        - Src:             'lib/picotls.c:5258,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:5258,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:5258,5'
          Dst:             ptls_log__do_push_element_bool
        - Src:             'lib/picotls.c:5258,5'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:5258,5'
          Dst:             ptls_log__do_write_end
    - functionName:    ptls_client_new
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5235
      functionLinenumberEnd: 5248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         29
      ICount:          213
      EdgeCount:       34
      CyclomaticComplexity: 7
      functionsReached:
        - log_client_random
        - new_instance
        - ptls_get_log_state
        - ptls_iovec_init
        - ptls_log__do_push_element_bool
        - ptls_log__do_push_element_unsigned64
        - ptls_log__do_write_end
        - ptls_log__do_write_start
        - ptls_log_conn_maybe_active
        - ptls_log_getsni_ptls
        - ptls_log_point_maybe_active
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:5236,19'
          Dst:             new_instance
        - Src:             'lib/picotls.c:5239,5'
          Dst:             log_client_random
        - Src:             'lib/picotls.c:5242,13'
          Dst:             ptls_iovec_init
        - Src:             'lib/picotls.c:5247,5'
          Dst:             ptls_log_point_maybe_active
        - Src:             'lib/picotls.c:5247,5'
          Dst:             ptls_get_log_state
        - Src:             'lib/picotls.c:5247,5'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:5247,5'
          Dst:             ptls_log_conn_maybe_active
        - Src:             'lib/picotls.c:5247,5'
          Dst:             ptls_log__do_write_start
        - Src:             'lib/picotls.c:5247,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:5247,5'
          Dst:             ptls_log__do_push_element_unsigned64
        - Src:             'lib/picotls.c:5247,5'
          Dst:             ptls_log__do_push_element_bool
        - Src:             'lib/picotls.c:5247,5'
          Dst:             ptls_log_getsni_ptls
        - Src:             'lib/picotls.c:5247,5'
          Dst:             ptls_log__do_write_end
    - functionName:    ptls_buffer_push_asn1_ubigint
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 671
      functionLinenumberEnd: 694
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          212
      EdgeCount:       57
      CyclomaticComplexity: 13
      functionsReached:
        - ptls_buffer__adjust_asn1_blocksize
        - ptls_buffer__do_pushv
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:681,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:682,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:682,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:682,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:682,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/picotls.c:682,5'
          Dst:             ptls_buffer__adjust_asn1_blocksize
    - functionName:    ptls_buffer__adjust_asn1_blocksize
      functionSourceFile: '/src/picotls/lib/picotls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 666
      functionLinenumberEnd: 667
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - abort
        - fprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/picotls.c:666,5'
          Dst:             fprintf
        - Src:             'lib/picotls.c:667,5'
          Dst:             abort
    - functionName:    fprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_compare_separator_line
      functionSourceFile: '/src/picotls/lib/pembase64.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          117
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - strlen
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/pembase64.c:241,15'
          Dst:             strncmp
        - Src:             'lib/pembase64.c:245,38'
          Dst:             strlen
        - Src:             'lib/pembase64.c:246,15'
          Dst:             strncmp
        - Src:             'lib/pembase64.c:256,31'
          Dst:             strlen
        - Src:             'lib/pembase64.c:257,15'
          Dst:             strncmp
        - Src:             'lib/pembase64.c:262,15'
          Dst:             strncmp
    - functionName:    ptls_load_certificates
      functionSourceFile: '/src/picotls/lib/pembase64.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 369
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ptls_load_pem_objects
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/pembase64.c:365,15'
          Dst:             ptls_load_pem_objects
    - functionName:    ptls_load_pem_objects
      functionSourceFile: '/src/picotls/lib/pembase64.c'
      linkageType:     InternalLinkage
      functionLinenumber: 300
      functionLinenumberEnd: 351
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          162
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - fclose
        - fopen
        - ptls_buffer_dispose
        - ptls_buffer_init
        - ptls_get_pem_object
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/pembase64.c:310,9'
          Dst:             fopen
        - Src:             'lib/pembase64.c:322,13'
          Dst:             ptls_buffer_init
        - Src:             'lib/pembase64.c:324,19'
          Dst:             ptls_get_pem_object
        - Src:             'lib/pembase64.c:332,21'
          Dst:             ptls_buffer_dispose
        - Src:             'lib/pembase64.c:335,17'
          Dst:             ptls_buffer_dispose
        - Src:             'lib/pembase64.c:348,9'
          Dst:             fclose
    - functionName:    fopen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_buffer_init
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2043
      functionLinenumberEnd: 2050
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/picotls.h:2044,5'
          Dst:             __assert_fail
    - functionName:    ptls_get_pem_object
      functionSourceFile: '/src/picotls/lib/pembase64.c'
      linkageType:     InternalLinkage
      functionLinenumber: 269
      functionLinenumberEnd: 296
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          121
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - fgets
        - ptls_base64_decode
        - ptls_base64_decode_init
        - ptls_compare_separator_line
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/pembase64.c:275,12'
          Dst:             fgets
        - Src:             'lib/pembase64.c:276,13'
          Dst:             ptls_compare_separator_line
        - Src:             'lib/pembase64.c:278,13'
          Dst:             ptls_base64_decode_init
        - Src:             'lib/pembase64.c:283,24'
          Dst:             fgets
        - Src:             'lib/pembase64.c:284,13'
          Dst:             ptls_compare_separator_line
        - Src:             'lib/pembase64.c:292,19'
          Dst:             ptls_base64_decode
    - functionName:    ptls_buffer_dispose
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2053
      functionLinenumberEnd: 2056
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ptls_buffer__release_memory
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'include/picotls.h:2054,5'
          Dst:             ptls_buffer__release_memory
    - functionName:    fclose
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fgets
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_base64_decode_init
      functionSourceFile: '/src/picotls/lib/pembase64.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_base64_decode
      functionSourceFile: '/src/picotls/lib/pembase64.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         104
      ICount:          555
      EdgeCount:       141
      CyclomaticComplexity: 39
      functionsReached:
        - ptls_buffer__do_pushv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/pembase64.c:186,19'
          Dst:             ptls_buffer__do_pushv
    - functionName:    ptls_base64_cell
      functionSourceFile: '/src/picotls/lib/pembase64.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          81
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ptls_base64_encode
      functionSourceFile: '/src/picotls/lib/pembase64.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          196
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - ptls_base64_cell
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/pembase64.c:85,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/pembase64.c:80,9'
          Dst:             ptls_base64_cell
    - functionName:    ptls_base64_howlong
      functionSourceFile: '/src/picotls/lib/pembase64.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    build_suite_id
      functionSourceFile: '/src/picotls/lib/hpke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          178
      EdgeCount:       46
      CyclomaticComplexity: 9
      functionsReached:
        - ptls_buffer__do_pushv
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/hpke.c:32,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/hpke.c:33,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/hpke.c:35,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/hpke.c:36,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/hpke.c:37,9'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/hpke.c:38,9'
          Dst:             ptls_buffer__do_pushv
    - functionName:    ptls_buffer_dispose
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2053
      functionLinenumberEnd: 2056
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ptls_buffer__release_memory
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'include/picotls.h:2054,5'
          Dst:             ptls_buffer__release_memory
    - functionName:    labeled_expand
      functionSourceFile: '/src/picotls/lib/hpke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          165
      EdgeCount:       37
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - build_suite_id
        - ptls_buffer__do_pushv
        - ptls_buffer_dispose
        - ptls_buffer_init
        - ptls_hkdf_expand
        - ptls_iovec_init
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/hpke.c:77,5'
          Dst:             __assert_fail
        - Src:             'lib/hpke.c:79,5'
          Dst:             ptls_buffer_init
        - Src:             'lib/hpke.c:81,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/hpke.c:82,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/hpke.c:83,16'
          Dst:             build_suite_id
        - Src:             'lib/hpke.c:85,5'
          Dst:             strlen
        - Src:             'lib/hpke.c:85,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/hpke.c:86,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/hpke.c:89,28'
          Dst:             ptls_iovec_init
        - Src:             'lib/hpke.c:88,11'
          Dst:             ptls_hkdf_expand
        - Src:             'lib/hpke.c:92,5'
          Dst:             ptls_buffer_dispose
    - functionName:    ptls_buffer_init
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2043
      functionLinenumberEnd: 2050
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'include/picotls.h:2044,5'
          Dst:             __assert_fail
    - functionName:    ptls_iovec_init
      functionSourceFile: '/src/picotls/include/picotls.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2032
      functionLinenumberEnd: 2039
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    labeled_extract
      functionSourceFile: '/src/picotls/lib/hpke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          124
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - build_suite_id
        - ptls_buffer__do_pushv
        - ptls_buffer_dispose
        - ptls_buffer_init
        - ptls_hkdf_extract
        - ptls_iovec_init
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/hpke.c:54,5'
          Dst:             ptls_buffer_init
        - Src:             'lib/hpke.c:56,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/hpke.c:57,16'
          Dst:             build_suite_id
        - Src:             'lib/hpke.c:59,5'
          Dst:             strlen
        - Src:             'lib/hpke.c:59,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/hpke.c:60,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/hpke.c:63,29'
          Dst:             ptls_iovec_init
        - Src:             'lib/hpke.c:62,11'
          Dst:             ptls_hkdf_extract
        - Src:             'lib/hpke.c:66,5'
          Dst:             ptls_buffer_dispose
    - functionName:    extract_and_expand
      functionSourceFile: '/src/picotls/lib/hpke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          134
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - labeled_expand
        - labeled_extract
        - ptls_buffer__do_pushv
        - ptls_buffer_dispose
        - ptls_buffer_init
        - ptls_iovec_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/hpke.c:103,5'
          Dst:             ptls_buffer_init
        - Src:             'lib/hpke.c:105,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/hpke.c:106,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/hpke.c:108,52'
          Dst:             ptls_iovec_init
        - Src:             'lib/hpke.c:108,16'
          Dst:             labeled_extract
        - Src:             'lib/hpke.c:110,62'
          Dst:             ptls_iovec_init
        - Src:             'lib/hpke.c:111,31'
          Dst:             ptls_iovec_init
        - Src:             'lib/hpke.c:110,16'
          Dst:             labeled_expand
        - Src:             'lib/hpke.c:115,5'
          Dst:             ptls_buffer_dispose
    - functionName:    dh_derive
      functionSourceFile: '/src/picotls/lib/hpke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - extract_and_expand
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/hpke.c:122,12'
          Dst:             extract_and_expand
    - functionName:    dh_decap
      functionSourceFile: '/src/picotls/lib/hpke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          101
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - dh_derive
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/hpke.c:159,9'
          Dst:             __assert_fail
        - Src:             'lib/hpke.c:163,16'
          Dst:             dh_derive
    - functionName:    ptls_hpke_setup_base_r
      functionSourceFile: '/src/picotls/lib/hpke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 250
      functionLinenumberEnd: 262
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          67
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - dh_decap
        - key_schedule
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/hpke.c:254,16'
          Dst:             dh_decap
        - Src:             'lib/hpke.c:257,16'
          Dst:             key_schedule
    - functionName:    key_schedule
      functionSourceFile: '/src/picotls/lib/hpke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 221
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          319
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - labeled_expand
        - labeled_extract
        - ptls_aead_new_direct
        - ptls_buffer__do_pushv
        - ptls_buffer_dispose
        - ptls_buffer_init
        - ptls_buffer_reserve
        - ptls_iovec_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/hpke.c:186,5'
          Dst:             ptls_buffer_init
        - Src:             'lib/hpke.c:189,5'
          Dst:             ptls_buffer__do_pushv
        - Src:             'lib/hpke.c:190,16'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/hpke.c:191,99'
          Dst:             ptls_iovec_init
        - Src:             'lib/hpke.c:192,47'
          Dst:             ptls_iovec_init
        - Src:             'lib/hpke.c:191,16'
          Dst:             labeled_extract
        - Src:             'lib/hpke.c:195,16'
          Dst:             ptls_buffer_reserve
        - Src:             'lib/hpke.c:196,99'
          Dst:             ptls_iovec_init
        - Src:             'lib/hpke.c:196,16'
          Dst:             labeled_extract
        - Src:             'lib/hpke.c:202,53'
          Dst:             ptls_iovec_init
        - Src:             'lib/hpke.c:203,32'
          Dst:             ptls_iovec_init
        - Src:             'lib/hpke.c:202,16'
          Dst:             labeled_extract
        - Src:             'lib/hpke.c:207,73'
          Dst:             ptls_iovec_init
        - Src:             'lib/hpke.c:208,31'
          Dst:             ptls_iovec_init
        - Src:             'lib/hpke.c:207,16'
          Dst:             labeled_expand
        - Src:             'lib/hpke.c:210,79'
          Dst:             ptls_iovec_init
        - Src:             'lib/hpke.c:211,45'
          Dst:             ptls_iovec_init
        - Src:             'lib/hpke.c:210,16'
          Dst:             labeled_expand
        - Src:             'lib/hpke.c:214,12'
          Dst:             ptls_aead_new_direct
        - Src:             'lib/hpke.c:217,5'
          Dst:             ptls_buffer_dispose
    - functionName:    dh_encap
      functionSourceFile: '/src/picotls/lib/hpke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          159
      EdgeCount:       26
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - dh_derive
        - ptls_iovec_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/hpke.c:130,13'
          Dst:             ptls_iovec_init
        - Src:             'lib/hpke.c:133,9'
          Dst:             __assert_fail
        - Src:             'lib/hpke.c:134,9'
          Dst:             __assert_fail
        - Src:             'lib/hpke.c:138,16'
          Dst:             dh_derive
        - Src:             'lib/hpke.c:148,17'
          Dst:             ptls_iovec_init
    - functionName:    ptls_hpke_setup_base_s
      functionSourceFile: '/src/picotls/lib/hpke.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          121
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - dh_encap
        - key_schedule
        - ptls_iovec_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/hpke.c:230,13'
          Dst:             ptls_iovec_init
        - Src:             'lib/hpke.c:232,16'
          Dst:             dh_encap
        - Src:             'lib/hpke.c:235,16'
          Dst:             key_schedule
        - Src:             'lib/hpke.c:242,17'
          Dst:             ptls_iovec_init
...
