All classes:
- python_multipart.exceptions.FormParserError
- python_multipart.exceptions.ParseError
- python_multipart.exceptions.MultipartParseError
- python_multipart.exceptions.QuerystringParseError
- python_multipart.exceptions.DecodeError
- python_multipart.exceptions.FileError
- python_multipart.decoders.SupportsWrite
- python_multipart.decoders.Base64Decoder
- python_multipart.decoders.QuotedPrintableDecoder
- python_multipart.multipart.SupportsRead
- python_multipart.multipart.QuerystringCallbacks
- python_multipart.multipart.OctetStreamCallbacks
- python_multipart.multipart.MultipartCallbacks
- python_multipart.multipart.FormParserConfig
- python_multipart.multipart.FileConfig
- python_multipart.multipart._FormProtocol
- python_multipart.multipart.FieldProtocol
- python_multipart.multipart.FileProtocol
- python_multipart.multipart.QuerystringState
- python_multipart.multipart.MultipartState
- python_multipart.multipart.Field
- python_multipart.multipart.File
- python_multipart.multipart.BaseParser
- python_multipart.multipart.OctetStreamParser
- python_multipart.multipart.QuerystringParser
- python_multipart.multipart.MultipartParser
- python_multipart.multipart.FormParser
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '...python-multipart.fuzz.fuzz_form'
    functionSourceFile: '...python-multipart.fuzz.fuzz_form'
    functionUses: 0
    functionsReached:
    - atheris.Fuzz
    - unittest.mock.Mock
    - atheris.instrument_imports
    - '...python-multipart.fuzz.fuzz_form.main'
    - atheris.Setup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_imports
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unittest.mock.Mock
    functionSourceFile: unittest
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - fdp
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 16
    functionName: '...python-multipart.fuzz.fuzz_form.parse_octet_stream'
    functionSourceFile: '...python-multipart.fuzz.fuzz_form'
    functionUses: 0
    functionsReached:
    - python_multipart.multipart.FormParser.__init__
    - params.pop
    - <builtin>.isinstance
    - python_multipart.multipart.OctetStreamParser.finalize
    - python_multipart.multipart.MultipartParser._internal_write
    - python_multipart.multipart.QuerystringParser.write
    - python_multipart.multipart.MultipartParser._internal_write.set_mark
    - <builtin>.int
    - python_multipart.multipart.MultipartParser.finalize
    - value.encode
    - python_multipart.multipart.OctetStreamParser.__init__
    - python_multipart.multipart.MultipartParser._internal_write.data_callback
    - python_multipart.multipart.QuerystringParser.__init__
    - python_multipart.multipart.FormParser.finalize
    - email.message.Message.get_params
    - <builtin>.len
    - logging.getLogger
    - params.get
    - python_multipart.multipart.MultipartParser.__init__
    - fdp.ConsumeRandomBytes
    - content_type.decode
    - input_stream.read
    - value.split
    - <builtin>.hasattr
    - python_multipart.multipart.parse_options_header
    - <builtin>.super
    - data.find
    - <builtin>.float
    - value.lower
    - io.BytesIO
    - <builtin>.min
    - python_multipart.multipart.QuerystringParser.finalize
    - python_multipart.multipart.parse_form
    - python_multipart.multipart.create_form_parser
    - email.message.Message
    - headers.get
    - python_multipart.multipart.OctetStreamParser.write
    - python_multipart.multipart.BaseParser.callback
    - boundary.encode
    - python_multipart.multipart.MultipartParser._internal_write.delete_mark
    - python_multipart.multipart.QuerystringParser._internal_write
    - <builtin>.max
    - key.encode
    - value.decode
    - python_multipart.multipart.MultipartParser.write
    - python_multipart.multipart.FormParser.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeRandomBytes
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO
    functionSourceFile: io
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fa0cf5ca940>
    argNames:
    - headers
    - input_stream
    - on_field
    - on_file
    - chunk_size
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1826
    functionName: python_multipart.multipart.parse_form
    functionSourceFile: python_multipart.multipart
    functionUses: 4
    functionsReached:
    - python_multipart.multipart.FormParser.__init__
    - params.pop
    - <builtin>.isinstance
    - python_multipart.multipart.OctetStreamParser.finalize
    - python_multipart.multipart.MultipartParser._internal_write
    - python_multipart.multipart.QuerystringParser.write
    - python_multipart.multipart.MultipartParser._internal_write.set_mark
    - <builtin>.int
    - python_multipart.multipart.MultipartParser.finalize
    - value.encode
    - python_multipart.multipart.OctetStreamParser.__init__
    - python_multipart.multipart.MultipartParser._internal_write.data_callback
    - python_multipart.multipart.QuerystringParser.__init__
    - python_multipart.multipart.FormParser.finalize
    - email.message.Message.get_params
    - <builtin>.len
    - logging.getLogger
    - params.get
    - python_multipart.multipart.MultipartParser.__init__
    - content_type.decode
    - input_stream.read
    - value.split
    - <builtin>.hasattr
    - python_multipart.multipart.parse_options_header
    - <builtin>.super
    - data.find
    - <builtin>.float
    - value.lower
    - <builtin>.min
    - python_multipart.multipart.QuerystringParser.finalize
    - python_multipart.multipart.create_form_parser
    - email.message.Message
    - headers.get
    - python_multipart.multipart.OctetStreamParser.write
    - python_multipart.multipart.BaseParser.callback
    - boundary.encode
    - python_multipart.multipart.MultipartParser._internal_write.delete_mark
    - python_multipart.multipart.QuerystringParser._internal_write
    - <builtin>.max
    - key.encode
    - value.decode
    - python_multipart.multipart.MultipartParser.write
    - python_multipart.multipart.FormParser.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - fdp
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 21
    functionName: '...python-multipart.fuzz.fuzz_form.parse_url_encoded'
    functionSourceFile: '...python-multipart.fuzz.fuzz_form'
    functionUses: 0
    functionsReached:
    - python_multipart.multipart.FormParser.__init__
    - params.pop
    - <builtin>.isinstance
    - python_multipart.multipart.OctetStreamParser.finalize
    - python_multipart.multipart.MultipartParser._internal_write
    - python_multipart.multipart.QuerystringParser.write
    - python_multipart.multipart.MultipartParser._internal_write.set_mark
    - <builtin>.int
    - python_multipart.multipart.MultipartParser.finalize
    - value.encode
    - python_multipart.multipart.OctetStreamParser.__init__
    - python_multipart.multipart.MultipartParser._internal_write.data_callback
    - python_multipart.multipart.QuerystringParser.__init__
    - python_multipart.multipart.FormParser.finalize
    - email.message.Message.get_params
    - <builtin>.len
    - logging.getLogger
    - params.get
    - python_multipart.multipart.MultipartParser.__init__
    - fdp.ConsumeRandomBytes
    - content_type.decode
    - input_stream.read
    - value.split
    - <builtin>.hasattr
    - python_multipart.multipart.parse_options_header
    - <builtin>.super
    - data.find
    - <builtin>.float
    - value.lower
    - io.BytesIO
    - <builtin>.min
    - python_multipart.multipart.QuerystringParser.finalize
    - python_multipart.multipart.parse_form
    - python_multipart.multipart.create_form_parser
    - email.message.Message
    - headers.get
    - python_multipart.multipart.OctetStreamParser.write
    - python_multipart.multipart.BaseParser.callback
    - boundary.encode
    - python_multipart.multipart.MultipartParser._internal_write.delete_mark
    - python_multipart.multipart.QuerystringParser._internal_write
    - <builtin>.max
    - key.encode
    - value.decode
    - python_multipart.multipart.MultipartParser.write
    - python_multipart.multipart.FormParser.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - fdp
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 26
    functionName: '...python-multipart.fuzz.fuzz_form.parse_form_urlencoded'
    functionSourceFile: '...python-multipart.fuzz.fuzz_form'
    functionUses: 0
    functionsReached:
    - python_multipart.multipart.FormParser.__init__
    - params.pop
    - <builtin>.isinstance
    - python_multipart.multipart.OctetStreamParser.finalize
    - python_multipart.multipart.MultipartParser._internal_write
    - python_multipart.multipart.QuerystringParser.write
    - python_multipart.multipart.MultipartParser._internal_write.set_mark
    - <builtin>.int
    - python_multipart.multipart.MultipartParser.finalize
    - value.encode
    - python_multipart.multipart.OctetStreamParser.__init__
    - python_multipart.multipart.MultipartParser._internal_write.data_callback
    - python_multipart.multipart.QuerystringParser.__init__
    - python_multipart.multipart.FormParser.finalize
    - email.message.Message.get_params
    - <builtin>.len
    - logging.getLogger
    - params.get
    - python_multipart.multipart.MultipartParser.__init__
    - fdp.ConsumeRandomBytes
    - content_type.decode
    - input_stream.read
    - value.split
    - <builtin>.hasattr
    - python_multipart.multipart.parse_options_header
    - <builtin>.super
    - data.find
    - <builtin>.float
    - value.lower
    - io.BytesIO
    - <builtin>.min
    - python_multipart.multipart.QuerystringParser.finalize
    - python_multipart.multipart.parse_form
    - python_multipart.multipart.create_form_parser
    - email.message.Message
    - headers.get
    - python_multipart.multipart.OctetStreamParser.write
    - python_multipart.multipart.BaseParser.callback
    - boundary.encode
    - python_multipart.multipart.MultipartParser._internal_write.delete_mark
    - python_multipart.multipart.QuerystringParser._internal_write
    - <builtin>.max
    - key.encode
    - value.decode
    - python_multipart.multipart.MultipartParser.write
    - python_multipart.multipart.FormParser.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - fdp
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 31
    functionName: '...python-multipart.fuzz.fuzz_form.parse_multipart_form_data'
    functionSourceFile: '...python-multipart.fuzz.fuzz_form'
    functionUses: 0
    functionsReached:
    - python_multipart.multipart.FormParser.__init__
    - params.pop
    - <builtin>.isinstance
    - python_multipart.multipart.OctetStreamParser.finalize
    - python_multipart.multipart.MultipartParser._internal_write
    - python_multipart.multipart.QuerystringParser.write
    - python_multipart.multipart.MultipartParser._internal_write.set_mark
    - fdp.ConsumeRandomString
    - <builtin>.int
    - python_multipart.multipart.MultipartParser.finalize
    - value.encode
    - python_multipart.multipart.OctetStreamParser.__init__
    - python_multipart.multipart.MultipartParser._internal_write.data_callback
    - python_multipart.multipart.QuerystringParser.__init__
    - python_multipart.multipart.FormParser.finalize
    - email.message.Message.get_params
    - body.encode
    - <builtin>.len
    - logging.getLogger
    - params.get
    - python_multipart.multipart.MultipartParser.__init__
    - content_type.decode
    - input_stream.read
    - value.split
    - <builtin>.hasattr
    - python_multipart.multipart.parse_options_header
    - <builtin>.super
    - data.find
    - <builtin>.float
    - value.lower
    - io.BytesIO
    - <builtin>.min
    - python_multipart.multipart.QuerystringParser.finalize
    - python_multipart.multipart.parse_form
    - python_multipart.multipart.create_form_parser
    - email.message.Message
    - headers.get
    - python_multipart.multipart.OctetStreamParser.write
    - python_multipart.multipart.BaseParser.callback
    - boundary.encode
    - python_multipart.multipart.MultipartParser._internal_write.delete_mark
    - python_multipart.multipart.QuerystringParser._internal_write
    - <builtin>.max
    - key.encode
    - value.decode
    - python_multipart.multipart.MultipartParser.write
    - python_multipart.multipart.FormParser.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeRandomString
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: '...python-multipart.fuzz.fuzz_form.TestOneInput'
    functionSourceFile: '...python-multipart.fuzz.fuzz_form'
    functionUses: 0
    functionsReached:
    - helpers.EnhancedDataProvider
    - helpers.EnhancedDataProvider.PickValueInList
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: helpers.EnhancedDataProvider
    functionSourceFile: helpers
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: helpers.EnhancedDataProvider.PickValueInList
    functionSourceFile: helpers
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: '...python-multipart.fuzz.fuzz_form.main'
    functionSourceFile: '...python-multipart.fuzz.fuzz_form'
    functionUses: 1
    functionsReached:
    - atheris.Fuzz
    - atheris.Setup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Setup
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Fuzz
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: python_multipart.multipart
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - <builtin>.object
    - <builtin>.frozenset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - __n
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 23
    functionName: python_multipart.multipart.SupportsRead.read
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 64
    functionName: python_multipart.multipart._FormProtocol.write
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 66
    functionName: python_multipart.multipart._FormProtocol.finalize
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 68
    functionName: python_multipart.multipart._FormProtocol.close
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 71
    functionName: python_multipart.multipart.FieldProtocol.__init__
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 73
    functionName: python_multipart.multipart.FieldProtocol.set_none
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - file_name
    - field_name
    - config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 76
    functionName: python_multipart.multipart.FileProtocol.__init__
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.object
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.frozenset
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 167
    functionName: python_multipart.multipart.parse_options_header
    functionSourceFile: python_multipart.multipart
    functionUses: 7
    functionsReached:
    - email.message.Message.get_params
    - params.pop
    - <builtin>.isinstance
    - email.message.Message
    - value.split
    - value.lower
    - value.encode
    - key.encode
    - value.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.decode
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.lower
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: email.message.Message
    functionSourceFile: email
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: email.message.Message.get_params
    functionSourceFile: email
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: params.pop
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.split
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.encode
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.encode
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 227
    functionName: python_multipart.multipart.Field.__init__
    functionSourceFile: python_multipart.multipart
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 235
    functionName: python_multipart.multipart.Field.from_value
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - f.finalize
    - python_multipart.multipart.Field.__init__
    - f.set_none
    - f.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.set_none
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.write
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.finalize
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 256
    functionName: python_multipart.multipart.Field.write
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - python_multipart.multipart.Field.on_data
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 267
    functionName: python_multipart.multipart.Field.on_data
    functionSourceFile: python_multipart.multipart
    functionUses: 1
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 281
    functionName: python_multipart.multipart.Field.on_end
    functionSourceFile: python_multipart.multipart
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 286
    functionName: python_multipart.multipart.Field.finalize
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - python_multipart.multipart.Field.on_end
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 290
    functionName: python_multipart.multipart.Field.close
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 298
    functionName: python_multipart.multipart.Field.set_none
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 308
    functionName: python_multipart.multipart.Field.field_name
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 313
    functionName: python_multipart.multipart.Field.value
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 321
    functionName: python_multipart.multipart.Field.__eq__
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 327
    functionName: python_multipart.multipart.Field.__repr__
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.repr
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fa0cf81c490>
    - <ast.Dict object at 0x7fa0cf81c850>
    argNames:
    - self
    - file_name
    - field_name
    - config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 361
    functionName: python_multipart.multipart.File.__init__
    functionSourceFile: python_multipart.multipart
    functionUses: 2
    functionsReached:
    - io.BytesIO
    - os.path.splitext
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.getLogger
    functionSourceFile: logging
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.splitext
    functionSourceFile: os
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 384
    functionName: python_multipart.multipart.File.field_name
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 391
    functionName: python_multipart.multipart.File.file_name
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 396
    functionName: python_multipart.multipart.File.actual_file_name
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 403
    functionName: python_multipart.multipart.File.file_object
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 411
    functionName: python_multipart.multipart.File.size
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 418
    functionName: python_multipart.multipart.File.in_memory
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 424
    functionName: python_multipart.multipart.File.flush_to_disk
    functionSourceFile: python_multipart.multipart
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - shutil.copyfileobj
    - sys.getfilesystemencoding
    - old_fileobj.close
    - file_dir.decode
    - new_file.seek
    - tempfile.NamedTemporaryFile
    - tmp_file.name.encode
    - python_multipart.multipart.File._get_disk_file
    - os.path.join
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 458
    functionName: python_multipart.multipart.File._get_disk_file
    functionSourceFile: python_multipart.multipart
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - sys.getfilesystemencoding
    - file_dir.decode
    - tempfile.NamedTemporaryFile
    - tmp_file.name.encode
    - os.path.join
    - <builtin>.open
    linkageType: pythonLinkage
    raised:
    - FileError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shutil.copyfileobj
    functionSourceFile: shutil
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_file.seek
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: old_fileobj.close
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.join
    functionSourceFile: os
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.open
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.getfilesystemencoding
    functionSourceFile: sys
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: file_dir.decode
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tempfile.NamedTemporaryFile
    functionSourceFile: tempfile
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tmp_file.name.encode
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 518
    functionName: python_multipart.multipart.File.write
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - shutil.copyfileobj
    - sys.getfilesystemencoding
    - old_fileobj.close
    - <builtin>.len
    - python_multipart.multipart.File.on_data
    - python_multipart.multipart.File.flush_to_disk
    - new_file.seek
    - file_dir.decode
    - tempfile.NamedTemporaryFile
    - tmp_file.name.encode
    - python_multipart.multipart.File._get_disk_file
    - os.path.join
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 525
    functionName: python_multipart.multipart.File.on_data
    functionSourceFile: python_multipart.multipart
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - shutil.copyfileobj
    - sys.getfilesystemencoding
    - old_fileobj.close
    - <builtin>.len
    - python_multipart.multipart.File.flush_to_disk
    - new_file.seek
    - file_dir.decode
    - tempfile.NamedTemporaryFile
    - tmp_file.name.encode
    - python_multipart.multipart.File._get_disk_file
    - os.path.join
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 554
    functionName: python_multipart.multipart.File.on_end
    functionSourceFile: python_multipart.multipart
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 559
    functionName: python_multipart.multipart.File.finalize
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - python_multipart.multipart.File.on_end
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 565
    functionName: python_multipart.multipart.File.close
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 572
    functionName: python_multipart.multipart.File.__repr__
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 597
    functionName: python_multipart.multipart.BaseParser.__init__
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fa0cf8643d0>
    - <ast.Constant object at 0x7fa0cf864520>
    - <ast.Constant object at 0x7fa0cf864280>
    argNames:
    - self
    - name
    - data
    - start
    - end
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 601
    functionName: python_multipart.multipart.BaseParser.callback
    functionSourceFile: python_multipart.multipart
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - new_func
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 631
    functionName: python_multipart.multipart.BaseParser.set_callback
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 646
    functionName: python_multipart.multipart.BaseParser.close
    functionSourceFile: python_multipart.multipart
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 649
    functionName: python_multipart.multipart.BaseParser.finalize
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 652
    functionName: python_multipart.multipart.BaseParser.__repr__
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Dict object at 0x7fa0cf9f2e80>
    - <ast.Call object at 0x7fa0cf9f22b0>
    argNames:
    - self
    - callbacks
    - max_size
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 671
    functionName: python_multipart.multipart.OctetStreamParser.__init__
    functionSourceFile: python_multipart.multipart
    functionUses: 7
    functionsReached:
    - <builtin>.super
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.super
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 681
    functionName: python_multipart.multipart.OctetStreamParser.write
    functionSourceFile: python_multipart.multipart
    functionUses: 6
    functionsReached:
    - <builtin>.len
    - python_multipart.multipart.BaseParser.callback
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.int
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 714
    functionName: python_multipart.multipart.OctetStreamParser.finalize
    functionSourceFile: python_multipart.multipart
    functionUses: 6
    functionsReached:
    - python_multipart.multipart.BaseParser.callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 720
    functionName: python_multipart.multipart.OctetStreamParser.__repr__
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Dict object at 0x7fa0cfda4f10>
    - <ast.Constant object at 0x7fa0cfda4ac0>
    - <ast.Call object at 0x7fa0cfda4eb0>
    argNames:
    - self
    - callbacks
    - strict_parsing
    - max_size
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 748
    functionName: python_multipart.multipart.QuerystringParser.__init__
    functionSourceFile: python_multipart.multipart
    functionUses: 7
    functionsReached:
    - <builtin>.super
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 766
    functionName: python_multipart.multipart.QuerystringParser.write
    functionSourceFile: python_multipart.multipart
    functionUses: 6
    functionsReached:
    - data.find
    - <builtin>.len
    - python_multipart.multipart.BaseParser.callback
    - <builtin>.int
    - python_multipart.multipart.QuerystringParser._internal_write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 11
    IfCount: 14
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - data
    - length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 802
    functionName: python_multipart.multipart.QuerystringParser._internal_write
    functionSourceFile: python_multipart.multipart
    functionUses: 7
    functionsReached:
    - data.find
    - <builtin>.len
    - python_multipart.multipart.BaseParser.callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.find
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 940
    functionName: python_multipart.multipart.QuerystringParser.finalize
    functionSourceFile: python_multipart.multipart
    functionUses: 6
    functionsReached:
    - python_multipart.multipart.BaseParser.callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 950
    functionName: python_multipart.multipart.QuerystringParser.__repr__
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Dict object at 0x7fa0cf7cb910>
    - <ast.Call object at 0x7fa0cf7cb8e0>
    argNames:
    - self
    - boundary
    - callbacks
    - max_size
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 977
    functionName: python_multipart.multipart.MultipartParser.__init__
    functionSourceFile: python_multipart.multipart
    functionUses: 7
    functionsReached:
    - <builtin>.super
    - <builtin>.isinstance
    - boundary.encode
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: boundary.encode
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1000
    functionName: python_multipart.multipart.MultipartParser.write
    functionSourceFile: python_multipart.multipart
    functionUses: 6
    functionsReached:
    - python_multipart.multipart.MultipartParser._internal_write
    - <builtin>.len
    - data.find
    - python_multipart.multipart.MultipartParser._internal_write.set_mark
    - python_multipart.multipart.BaseParser.callback
    - <builtin>.int
    - python_multipart.multipart.MultipartParser._internal_write.delete_mark
    - <builtin>.max
    - python_multipart.multipart.MultipartParser._internal_write.data_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 44
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 62
    ICount: 30
    IfCount: 44
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - data
    - length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1036
    functionName: python_multipart.multipart.MultipartParser._internal_write
    functionSourceFile: python_multipart.multipart
    functionUses: 7
    functionsReached:
    - data.find
    - <builtin>.len
    - python_multipart.multipart.MultipartParser._internal_write.set_mark
    - python_multipart.multipart.BaseParser.callback
    - python_multipart.multipart.MultipartParser._internal_write.delete_mark
    - <builtin>.max
    - python_multipart.multipart.MultipartParser._internal_write.data_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1050
    functionName: python_multipart.multipart.MultipartParser._internal_write.set_mark
    functionSourceFile: python_multipart.multipart
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fa0cf7ce5b0>
    argNames:
    - name
    - reset
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1054
    functionName: python_multipart.multipart.MultipartParser._internal_write.delete_mark
    functionSourceFile: python_multipart.multipart
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 7
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fa0cf7ce250>
    argNames:
    - name
    - end_i
    - remaining
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1062
    functionName: python_multipart.multipart.MultipartParser._internal_write.data_callback
    functionSourceFile: python_multipart.multipart
    functionUses: 8
    functionsReached:
    - <builtin>.len
    - python_multipart.multipart.BaseParser.callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.max
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1457
    functionName: python_multipart.multipart.MultipartParser.finalize
    functionSourceFile: python_multipart.multipart
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1468
    functionName: python_multipart.multipart.MultipartParser.__repr__
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.float
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: python_multipart.multipart.FormParser
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7fa0cf614ca0>
    - <ast.Constant object at 0x7fa0cf614cd0>
    - <ast.Constant object at 0x7fa0cf614d00>
    - <ast.Name object at 0x7fa0cf614d30>
    - <ast.Name object at 0x7fa0cf614d60>
    - <ast.Dict object at 0x7fa0cf614d90>
    argNames:
    - self
    - content_type
    - on_field
    - on_file
    - on_end
    - boundary
    - file_name
    - FileClass
    - FieldClass
    - config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1518
    functionName: python_multipart.multipart.FormParser.__init__
    functionSourceFile: python_multipart.multipart
    functionUses: 6
    functionsReached:
    - <builtin>.super
    - <builtin>.isinstance
    - logging.getLogger
    - python_multipart.multipart.MultipartParser.__init__
    - boundary.encode
    - python_multipart.multipart.OctetStreamParser.__init__
    - python_multipart.multipart.QuerystringParser.__init__
    linkageType: pythonLinkage
    raised:
    - FormParserError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1557
    functionName: python_multipart.multipart.FormParser.__init__.on_start
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - io.BytesIO
    - os.path.splitext
    - python_multipart.multipart.File.__init__
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - data
    - start
    - end
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1561
    functionName: python_multipart.multipart.FormParser.__init__.on_data
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - file.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: file.write
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1724
    functionName: python_multipart.multipart.FormParser.__init__._on_end
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - writer.finalize
    - unittest.mock.Mock
    - file.finalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: file.finalize
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1589
    functionName: python_multipart.multipart.FormParser.__init__.on_field_start
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - data
    - start
    - end
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1592
    functionName: python_multipart.multipart.FormParser.__init__.on_field_name
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - name_buffer.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name_buffer.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - data
    - start
    - end
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1595
    functionName: python_multipart.multipart.FormParser.__init__.on_field_data
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - python_multipart.multipart.Field.__init__
    - f.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1602
    functionName: python_multipart.multipart.FormParser.__init__.on_field_end
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - f.finalize
    - unittest.mock.Mock
    - python_multipart.multipart.Field.__init__
    - f.set_none
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1646
    functionName: python_multipart.multipart.FormParser.__init__.on_part_begin
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - data
    - start
    - end
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1651
    functionName: python_multipart.multipart.FormParser.__init__.on_part_data
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - writer.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: writer.write
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1657
    functionName: python_multipart.multipart.FormParser.__init__.on_part_end
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - f_multi.finalize
    - unittest.mock.Mock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f_multi.finalize
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - data
    - start
    - end
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1668
    functionName: python_multipart.multipart.FormParser.__init__.on_header_field
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - header_name.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: header_name.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - data
    - start
    - end
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1671
    functionName: python_multipart.multipart.FormParser.__init__.on_header_value
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - header_value.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: header_value.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1674
    functionName: python_multipart.multipart.FormParser.__init__.on_header_end
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1679
    functionName: python_multipart.multipart.FormParser.__init__.on_headers_finished
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - params.pop
    - <builtin>.isinstance
    - value.encode
    - email.message.Message.get_params
    - logging.getLogger
    - python_multipart.multipart.File.__init__
    - value.split
    - python_multipart.multipart.parse_options_header
    - os.path.splitext
    - python_multipart.multipart.Field.__init__
    - value.lower
    - io.BytesIO
    - <builtin>.bytearray
    - python_multipart.decoders.QuotedPrintableDecoder.__init__
    - email.message.Message
    - headers.get
    - options.get
    - python_multipart.decoders.Base64Decoder.__init__
    - key.encode
    - value.decode
    linkageType: pythonLinkage
    raised:
    - FormParserError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.get
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: options.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - underlying
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 50
    functionName: python_multipart.decoders.Base64Decoder.__init__
    functionSourceFile: python_multipart.decoders
    functionUses: 1
    functionsReached:
    - <builtin>.bytearray
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - underlying
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 128
    functionName: python_multipart.decoders.QuotedPrintableDecoder.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: writer.finalize
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1753
    functionName: python_multipart.multipart.FormParser.write
    functionSourceFile: python_multipart.multipart
    functionUses: 5
    functionsReached:
    - python_multipart.multipart.MultipartParser._internal_write
    - python_multipart.multipart.OctetStreamParser.write
    - python_multipart.multipart.QuerystringParser.write
    - data.find
    - <builtin>.len
    - python_multipart.multipart.BaseParser.callback
    - <builtin>.int
    - <builtin>.max
    - python_multipart.multipart.MultipartParser._internal_write.delete_mark
    - python_multipart.multipart.QuerystringParser._internal_write
    - python_multipart.multipart.MultipartParser._internal_write.data_callback
    - python_multipart.multipart.MultipartParser._internal_write.set_mark
    - python_multipart.multipart.MultipartParser.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1768
    functionName: python_multipart.multipart.FormParser.finalize
    functionSourceFile: python_multipart.multipart
    functionUses: 5
    functionsReached:
    - python_multipart.multipart.OctetStreamParser.finalize
    - python_multipart.multipart.BaseParser.callback
    - python_multipart.multipart.MultipartParser.finalize
    - <builtin>.hasattr
    - python_multipart.multipart.QuerystringParser.finalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hasattr
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1773
    functionName: python_multipart.multipart.FormParser.close
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached:
    - python_multipart.multipart.BaseParser.close
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1778
    functionName: python_multipart.multipart.FormParser.__repr__
    functionSourceFile: python_multipart.multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fa0cf5d0700>
    - <ast.Dict object at 0x7fa0cf5d0730>
    argNames:
    - headers
    - on_field
    - on_file
    - trust_x_headers
    - config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1782
    functionName: python_multipart.multipart.create_form_parser
    functionSourceFile: python_multipart.multipart
    functionUses: 5
    functionsReached:
    - python_multipart.multipart.FormParser.__init__
    - <builtin>.isinstance
    - params.pop
    - value.encode
    - python_multipart.multipart.OctetStreamParser.__init__
    - python_multipart.multipart.QuerystringParser.__init__
    - email.message.Message.get_params
    - logging.getLogger
    - params.get
    - python_multipart.multipart.MultipartParser.__init__
    - content_type.decode
    - value.split
    - python_multipart.multipart.parse_options_header
    - <builtin>.super
    - value.lower
    - email.message.Message
    - headers.get
    - boundary.encode
    - key.encode
    - value.decode
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: params.get
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: content_type.decode
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.min
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: input_stream.read
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: python_multipart.decoders
    functionSourceFile: python_multipart.decoders
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.TypeVar
    functionSourceFile: typing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - __b
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 13
    functionName: python_multipart.decoders.SupportsWrite.write
    functionSourceFile: python_multipart.decoders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bytearray
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: python_multipart.decoders.Base64Decoder.write
    functionSourceFile: python_multipart.decoders
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - base64.b64decode
    linkageType: pythonLinkage
    raised:
    - DecodeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base64.b64decode
    functionSourceFile: base64
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 90
    functionName: python_multipart.decoders.Base64Decoder.close
    functionSourceFile: python_multipart.decoders
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 97
    functionName: python_multipart.decoders.Base64Decoder.finalize
    functionSourceFile: python_multipart.decoders
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised:
    - DecodeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 114
    functionName: python_multipart.decoders.Base64Decoder.__repr__
    functionSourceFile: python_multipart.decoders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 132
    functionName: python_multipart.decoders.QuotedPrintableDecoder.write
    functionSourceFile: python_multipart.decoders
    functionUses: 0
    functionsReached:
    - binascii.a2b_qp
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: binascii.a2b_qp
    functionSourceFile: binascii
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 159
    functionName: python_multipart.decoders.QuotedPrintableDecoder.close
    functionSourceFile: python_multipart.decoders
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 166
    functionName: python_multipart.decoders.QuotedPrintableDecoder.finalize
    functionSourceFile: python_multipart.decoders
    functionUses: 0
    functionsReached:
    - binascii.a2b_qp
    - <builtin>.len
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 184
    functionName: python_multipart.decoders.QuotedPrintableDecoder.__repr__
    functionSourceFile: python_multipart.decoders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: python_multipart.exceptions
    functionSourceFile: python_multipart.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: python_multipart
    functionSourceFile: python_multipart
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...python-multipart.fuzz.fuzz_form':
  - 8
  - 12
  - 13
  - 59
  - 60
  '...python-multipart.fuzz.fuzz_form.TestOneInput':
  - 49
  - 44
  - 46
  '...python-multipart.fuzz.fuzz_form.main':
  - 56
  - 55
  '...python-multipart.fuzz.fuzz_form.parse_form_urlencoded':
  - 28
  '...python-multipart.fuzz.fuzz_form.parse_multipart_form_data':
  - 40
  - 37
  '...python-multipart.fuzz.fuzz_form.parse_octet_stream':
  - 18
  '...python-multipart.fuzz.fuzz_form.parse_url_encoded':
  - 23
  python_multipart.decoders:
  - 10
  - 7
  python_multipart.decoders.Base64Decoder:
  - 22
  python_multipart.decoders.Base64Decoder.__init__:
  - 51
  python_multipart.decoders.Base64Decoder.close:
  - 91
  - 94
  - 95
  python_multipart.decoders.Base64Decoder.finalize:
  - 112
  - 98
  - 106
  - 111
  python_multipart.decoders.Base64Decoder.write:
  - 64
  - 68
  - 72
  - 74
  - 78
  - 81
  - 82
  - 55
  - 88
  python_multipart.decoders.QuotedPrintableDecoder:
  - 119
  python_multipart.decoders.QuotedPrintableDecoder.close:
  - 160
  - 163
  - 164
  python_multipart.decoders.QuotedPrintableDecoder.finalize:
  - 167
  - 176
  - 177
  - 181
  - 182
  python_multipart.decoders.QuotedPrintableDecoder.write:
  - 133
  - 139
  - 145
  - 152
  - 153
  - 157
  python_multipart.decoders.SupportsWrite.write:
  - 13
  python_multipart.exceptions.DecodeError:
  - 28
  python_multipart.exceptions.FileError:
  - 34
  python_multipart.exceptions.FormParserError:
  - 2
  python_multipart.exceptions.MultipartParseError:
  - 16
  python_multipart.exceptions.ParseError:
  - 6
  python_multipart.exceptions.QuerystringParseError:
  - 22
  python_multipart.multipart:
  - 17
  - 100
  - 159
  python_multipart.multipart.BaseParser:
  - 577
  python_multipart.multipart.BaseParser.__init__:
  - 598
  python_multipart.multipart.BaseParser.callback:
  - 615
  - 616
  - 618
  - 620
  - 622
  - 625
  - 626
  - 628
  - 629
  - 604
  python_multipart.multipart.BaseParser.set_callback:
  - 632
  - 641
  - 642
  python_multipart.multipart.Field:
  - 211
  python_multipart.multipart.Field.__eq__:
  - 322
  python_multipart.multipart.Field.__repr__:
  - 328
  - 331
  - 333
  - 335
  python_multipart.multipart.Field.close:
  - 291
  - 293
  - 294
  python_multipart.multipart.Field.field_name:
  - 309
  python_multipart.multipart.Field.finalize:
  - 288
  - 287
  python_multipart.multipart.Field.from_value:
  - 236
  - 248
  - 249
  - 250
  - 252
  - 253
  python_multipart.multipart.Field.on_data:
  - 268
  - 277
  - 279
  python_multipart.multipart.Field.on_end:
  - 282
  - 283
  - 284
  python_multipart.multipart.Field.set_none:
  - 299
  python_multipart.multipart.Field.value:
  - 314
  - 315
  - 316
  - 318
  python_multipart.multipart.Field.write:
  - 257
  - 265
  python_multipart.multipart.FieldProtocol.__init__:
  - 71
  python_multipart.multipart.FieldProtocol.set_none:
  - 73
  python_multipart.multipart.File:
  - 339
  python_multipart.multipart.File.__init__:
  - 379
  - 378
  - 363
  - 367
  python_multipart.multipart.File.__repr__:
  - 573
  python_multipart.multipart.File._get_disk_file:
  - 513
  - 459
  - 460
  - 462
  - 463
  - 464
  - 465
  - 469
  - 470
  - 476
  - 478
  - 479
  - 483
  - 489
  - 491
  - 493
  - 494
  - 499
  - 503
  - 505
  - 510
  - 511
  python_multipart.multipart.File.actual_file_name:
  - 397
  python_multipart.multipart.File.close:
  - 570
  - 566
  python_multipart.multipart.File.field_name:
  - 385
  python_multipart.multipart.File.file_name:
  - 392
  python_multipart.multipart.File.file_object:
  - 404
  python_multipart.multipart.File.finalize:
  - 560
  - 563
  python_multipart.multipart.File.flush_to_disk:
  - 456
  - 425
  - 432
  - 433
  - 437
  - 440
  - 443
  - 446
  python_multipart.multipart.File.in_memory:
  - 419
  python_multipart.multipart.File.on_data:
  - 546
  - 547
  - 548
  - 549
  - 526
  - 535
  - 538
  - 539
  python_multipart.multipart.File.on_end:
  - 555
  - 557
  python_multipart.multipart.File.size:
  - 412
  python_multipart.multipart.File.write:
  - 523
  - 519
  python_multipart.multipart.FileProtocol.__init__:
  - 76
  python_multipart.multipart.FormParser:
  - 1473
  - 1509
  python_multipart.multipart.FormParser.__init__:
  - 1633
  - 1634
  - 1635
  - 1732
  - 1579
  - 1548
  - 1549
  - 1584
  - 1554
  - 1748
  - 1622
  - 1530
  python_multipart.multipart.FormParser.__init__._on_end:
  - 1568
  - 1728
  - 1729
  - 1571
  - 1572
  - 1575
  - 1576
  - 1618
  - 1619
  - 1726
  - 1727
  python_multipart.multipart.FormParser.__init__.on_data:
  - 1563
  python_multipart.multipart.FormParser.__init__.on_field_data:
  - 1600
  - 1597
  - 1598
  python_multipart.multipart.FormParser.__init__.on_field_end:
  - 1605
  - 1608
  - 1610
  - 1612
  - 1613
  - 1614
  python_multipart.multipart.FormParser.__init__.on_field_name:
  - 1593
  python_multipart.multipart.FormParser.__init__.on_header_end:
  - 1675
  python_multipart.multipart.FormParser.__init__.on_header_field:
  - 1669
  python_multipart.multipart.FormParser.__init__.on_header_value:
  - 1672
  python_multipart.multipart.FormParser.__init__.on_headers_finished:
  - 1696
  - 1698
  - 1704
  - 1706
  - 1709
  - 1710
  - 1712
  - 1713
  - 1716
  - 1717
  - 1686
  - 1687
  - 1690
  - 1691
  - 1695
  python_multipart.multipart.FormParser.__init__.on_part_data:
  - 1654
  python_multipart.multipart.FormParser.__init__.on_part_end:
  - 1665
  - 1666
  - 1660
  - 1661
  - 1662
  - 1663
  python_multipart.multipart.FormParser.__init__.on_start:
  - 1559
  python_multipart.multipart.FormParser.__repr__:
  - 1779
  python_multipart.multipart.FormParser.close:
  - 1776
  - 1774
  - 1775
  python_multipart.multipart.FormParser.finalize:
  - 1769
  - 1770
  - 1771
  python_multipart.multipart.FormParser.write:
  - 1754
  - 1763
  - 1766
  python_multipart.multipart.MultipartParser:
  - 957
  python_multipart.multipart.MultipartParser.__init__:
  - 997
  - 987
  - 996
  - 981
  python_multipart.multipart.MultipartParser._internal_write:
  - 1105
  - 1107
  - 1119
  - 1122
  - 1123
  - 1126
  - 1129
  - 1130
  - 1136
  - 1137
  - 1139
  - 1140
  - 1148
  - 1155
  - 1157
  - 1158
  - 1165
  - 1171
  - 1177
  - 1178
  - 1184
  - 1188
  - 1189
  - 1198
  - 1200
  - 1202
  - 1203
  - 1208
  - 1213
  - 1215
  - 1216
  - 1220
  - 1222
  - 1227
  - 1233
  - 1236
  - 1237
  - 1238
  - 1241
  - 1243
  - 1245
  - 1246
  - 1255
  - 1259
  - 1261
  - 1262
  - 1266
  - 1269
  - 1271
  - 1277
  - 1287
  - 1292
  - 1296
  - 1297
  - 1307
  - 1318
  - 1320
  - 1327
  - 1333
  - 1338
  - 1348
  - 1351
  - 1353
  - 1358
  - 1361
  - 1362
  - 1377
  - 1379
  - 1381
  - 1384
  - 1385
  - 1395
  - 1403
  - 1404
  - 1405
  - 1407
  - 1408
  - 1412
  - 1415
  - 1417
  - 1421
  - 1428
  - 1429
  - 1444
  - 1445
  - 1446
  python_multipart.multipart.MultipartParser._internal_write.data_callback:
  - 1088
  - 1090
  - 1092
  - 1093
  - 1063
  - 1064
  - 1096
  - 1099
  - 1069
  - 1072
  - 1074
  - 1081
  - 1082
  - 1083
  - 1085
  - 1086
  python_multipart.multipart.MultipartParser._internal_write.delete_mark:
  - 1055
  python_multipart.multipart.MultipartParser.finalize:
  - 1458
  python_multipart.multipart.MultipartParser.write:
  - 1030
  - 1001
  - 1015
  - 1016
  - 1018
  - 1019
  python_multipart.multipart.MultipartState:
  - 116
  python_multipart.multipart.OctetStreamParser:
  - 657
  python_multipart.multipart.OctetStreamParser.__init__:
  - 672
  - 676
  python_multipart.multipart.OctetStreamParser.finalize:
  - 715
  - 718
  python_multipart.multipart.OctetStreamParser.write:
  - 711
  - 682
  - 691
  - 692
  - 696
  - 697
  - 699
  - 700
  python_multipart.multipart.QuerystringParser:
  - 725
  python_multipart.multipart.QuerystringParser.__init__:
  - 758
  - 751
  python_multipart.multipart.QuerystringParser.__repr__:
  - 951
  python_multipart.multipart.QuerystringParser._internal_write:
  - 899
  - 902
  - 905
  - 906
  - 907
  - 911
  - 912
  - 913
  - 924
  - 929
  - 930
  - 938
  - 812
  - 819
  - 820
  - 822
  - 823
  - 827
  - 837
  - 842
  - 845
  - 846
  - 847
  - 852
  - 853
  - 855
  - 857
  - 859
  - 868
  - 873
  - 874
  - 875
  - 882
  - 888
  - 889
  python_multipart.multipart.QuerystringParser.finalize:
  - 946
  - 947
  - 948
  - 941
  python_multipart.multipart.QuerystringParser.write:
  - 781
  - 782
  - 784
  - 785
  - 796
  - 767
  python_multipart.multipart.QuerystringState:
  - 104
  python_multipart.multipart.SupportsRead.read:
  - 23
  python_multipart.multipart._FormProtocol.close:
  - 68
  python_multipart.multipart._FormProtocol.finalize:
  - 66
  python_multipart.multipart._FormProtocol.write:
  - 64
  python_multipart.multipart.create_form_parser:
  - 1803
  - 1804
  - 1805
  - 1810
  - 1811
  - 1814
  - 1817
  - 1820
  - 1789
  python_multipart.multipart.parse_form:
  - 1860
  - 1861
  - 1864
  - 1833
  - 1865
  - 1869
  - 1873
  - 1847
  - 1851
  - 1852
  - 1853
  - 1855
  python_multipart.multipart.parse_options_header:
  - 192
  - 194
  - 199
  - 168
  - 171
  - 203
  - 204
  - 205
  - 175
  - 176
  - 206
  - 179
  - 182
  - 183
  - 187
  - 189
Fuzzer filename: /src/python-multipart/fuzz/fuzz_form.py
Inheritance:
  python_multipart.decoders.Base64Decoder: []
  python_multipart.decoders.QuotedPrintableDecoder: []
  python_multipart.decoders.SupportsWrite: []
  python_multipart.exceptions.DecodeError:
  - ParseError
  python_multipart.exceptions.FileError:
  - OSError
  - FormParserError
  python_multipart.exceptions.FormParserError:
  - ValueError
  python_multipart.exceptions.MultipartParseError:
  - ParseError
  python_multipart.exceptions.ParseError:
  - FormParserError
  python_multipart.exceptions.QuerystringParseError:
  - ParseError
  python_multipart.multipart.BaseParser: []
  python_multipart.multipart.Field: []
  python_multipart.multipart.FieldProtocol:
  - Protocol
  - _FormProtocol
  python_multipart.multipart.File: []
  python_multipart.multipart.FileConfig:
  - TypedDict
  python_multipart.multipart.FileProtocol:
  - Protocol
  - _FormProtocol
  python_multipart.multipart.FormParser: []
  python_multipart.multipart.FormParserConfig:
  - TypedDict
  python_multipart.multipart.MultipartCallbacks:
  - TypedDict
  python_multipart.multipart.MultipartParser:
  - BaseParser
  python_multipart.multipart.MultipartState:
  - IntEnum
  python_multipart.multipart.OctetStreamCallbacks:
  - TypedDict
  python_multipart.multipart.OctetStreamParser:
  - BaseParser
  python_multipart.multipart.QuerystringCallbacks:
  - TypedDict
  python_multipart.multipart.QuerystringParser:
  - BaseParser
  python_multipart.multipart.QuerystringState:
  - IntEnum
  python_multipart.multipart.SupportsRead:
  - Protocol
  python_multipart.multipart._FormProtocol:
  - Protocol
ep:
  func_name: TestOneInput
  module: '...python-multipart.fuzz.fuzz_form'
