All classes:
- jinja2.utils._PassArg
- jinja2.exceptions.TemplateError
- jinja2.exceptions.TemplateNotFound
- jinja2.exceptions.TemplatesNotFound
- jinja2.exceptions.TemplateSyntaxError
- jinja2.exceptions.TemplateAssertionError
- jinja2.exceptions.TemplateRuntimeError
- jinja2.exceptions.UndefinedError
- jinja2.exceptions.SecurityError
- jinja2.exceptions.FilterArgumentError
- jinja2.runtime.LoopRenderFunc
- jinja2.runtime.TemplateReference
- jinja2.runtime.Context
- jinja2.runtime.BlockReference
- jinja2.runtime.LoopContext
- jinja2.runtime.AsyncLoopContext
- jinja2.runtime.Macro
- jinja2.runtime.Undefined
- jinja2.runtime.make_logging_undefined.LoggingUndefined
- jinja2.runtime.ChainableUndefined
- jinja2.runtime.DebugUndefined
- jinja2.runtime.StrictUndefined
- jinja2.lexer.Failure
- jinja2.lexer.Token
- jinja2.lexer.TokenStreamIterator
- jinja2.lexer.TokenStream
- jinja2.lexer.OptionalLStrip
- jinja2.lexer._Rule
- jinja2.lexer.Lexer
- jinja2.utils.LRUCache
- jinja2.utils.Cycler
- jinja2.utils.Joiner
- jinja2.utils.Namespace
- jinja2.nodes.Impossible
- jinja2.nodes.NodeType
- jinja2.nodes.EvalContext
- jinja2.nodes.Node
- jinja2.nodes.Stmt
- jinja2.nodes.Helper
- jinja2.nodes.Template
- jinja2.nodes.Output
- jinja2.nodes.Extends
- jinja2.nodes.For
- jinja2.nodes.If
- jinja2.nodes.Macro
- jinja2.nodes.CallBlock
- jinja2.nodes.FilterBlock
- jinja2.nodes.With
- jinja2.nodes.Block
- jinja2.nodes.Include
- jinja2.nodes.Import
- jinja2.nodes.FromImport
- jinja2.nodes.ExprStmt
- jinja2.nodes.Assign
- jinja2.nodes.AssignBlock
- jinja2.nodes.Expr
- jinja2.nodes.BinExpr
- jinja2.nodes.UnaryExpr
- jinja2.nodes.Name
- jinja2.nodes.NSRef
- jinja2.nodes.Literal
- jinja2.nodes.Const
- jinja2.visitor.VisitCallable
- jinja2.visitor.NodeVisitor
- jinja2.visitor.NodeTransformer
- jinja2.idtracking.Symbols
- jinja2.idtracking.RootVisitor
- jinja2.idtracking.FrameSymbolVisitor
- jinja2.optimizer.Optimizer
- jinja2.compiler.MacroRef
- jinja2.compiler.Frame
- jinja2.compiler.VisitorExit
- jinja2.compiler.DependencyFinderVisitor
- jinja2.compiler.UndeclaredNameVisitor
- jinja2.compiler.CompilerExit
- jinja2.compiler.CodeGenerator
- jinja2.compiler.CodeGenerator._FinalizeInfo
- jinja2.nodes.TemplateData
- jinja2.nodes.Tuple
- jinja2.nodes.List
- jinja2.nodes.Dict
- jinja2.nodes.Pair
- jinja2.nodes.Keyword
- jinja2.nodes.CondExpr
- jinja2.nodes._FilterTestCommon
- jinja2.nodes.Filter
- jinja2.nodes.Test
- jinja2.nodes.Call
- jinja2.nodes.Getitem
- jinja2.nodes.Getattr
- jinja2.nodes.Slice
- jinja2.nodes.Concat
- jinja2.nodes.Compare
- jinja2.nodes.Operand
- jinja2.nodes.Mul
- jinja2.nodes.Div
- jinja2.nodes.FloorDiv
- jinja2.nodes.Add
- jinja2.nodes.Sub
- jinja2.nodes.Mod
- jinja2.nodes.Pow
- jinja2.nodes.And
- jinja2.nodes.Or
- jinja2.nodes.Not
- jinja2.nodes.Neg
- jinja2.nodes.Pos
- jinja2.nodes.EnvironmentAttribute
- jinja2.nodes.ExtensionAttribute
- jinja2.nodes.ImportedName
- jinja2.nodes.InternalName
- jinja2.nodes.MarkSafe
- jinja2.nodes.MarkSafeIfAutoescape
- jinja2.nodes.ContextReference
- jinja2.nodes.DerivedContextReference
- jinja2.nodes.Continue
- jinja2.nodes.Break
- jinja2.nodes.Scope
- jinja2.nodes.OverlayScope
- jinja2.nodes.EvalContextModifier
- jinja2.nodes.ScopedEvalContextModifier
- jinja2.sandbox.SandboxedEnvironment
- jinja2.sandbox.ImmutableSandboxedEnvironment
- jinja2.sandbox.SandboxedFormatter
- jinja2.sandbox.SandboxedEscapeFormatter
- jinja2.filters.HasHTML
- jinja2.filters._GroupTuple
- jinja2.parser.Parser
- jinja2.ext._TranslationsBasic
- jinja2.ext._TranslationsContext
- jinja2.ext.Extension
- jinja2.ext.InternationalizationExtension
- jinja2.ext.ExprStmtExtension
- jinja2.ext.LoopControlExtension
- jinja2.ext.DebugExtension
- jinja2.ext._CommentFinder
- jinja2.loaders.BaseLoader
- jinja2.loaders.FileSystemLoader
- jinja2.loaders.PackageLoader
- jinja2.loaders.DictLoader
- jinja2.loaders.FunctionLoader
- jinja2.loaders.PrefixLoader
- jinja2.loaders.ChoiceLoader
- jinja2.loaders._TemplateModule
- jinja2.loaders.ModuleLoader
- jinja2.environment.Environment
- jinja2.environment.Template
- jinja2.environment.TemplateModule
- jinja2.environment.TemplateExpression
- jinja2.environment.TemplateStream
- jinja2.bccache._MemcachedClient
- jinja2.bccache.Bucket
- jinja2.bccache.BytecodeCache
- jinja2.bccache.FileSystemBytecodeCache
- jinja2.bccache.MemcachedBytecodeCache
- jinja2.nativetypes.NativeCodeGenerator
- jinja2.nativetypes.NativeEnvironment
- jinja2.nativetypes.NativeTemplate
- jinja2.meta.TrackingCodeGenerator
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '...fuzz_jinja_compile_expr'
    functionSourceFile: '...fuzz_jinja_compile_expr'
    functionUses: 0
    functionsReached:
    - atheris.instrument_imports
    - '...fuzz_jinja_compile_expr.main'
    - 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.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: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 21
    functionName: '...fuzz_jinja_compile_expr.TestOneInput'
    functionSourceFile: '...fuzz_jinja_compile_expr'
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - jinja2.environment.Environment.from_string
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - <builtin>.str
    - collections.deque.extend
    - <builtin>.sorted
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser._fail_ut_eof
    - kwargs.append
    - generator.stream.getvalue
    - typing.NamedTuple.__init__
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - ext.filter_stream
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.environment.Environment.compile
    - jinja2.parser.Parser.parse_signature
    - jinja2.nodes.Node.set_environment
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.environment.Environment._generate
    - cls.from_code
    - jinja2.environment.Environment.handle_exception
    - jinja2.parser.Parser.parse_statements
    - item.can_assign
    - jinja2.environment.TemplateExpression.__init__
    - environment.code_generator_class
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - jinja2.lexer.describe_token
    - <builtin>.type
    - ops.append
    - generator.visit
    - jinja2.environment.Environment.preprocess
    - jinja2.parser.Parser.parse
    - <builtin>.map
    - jinja2.environment.Environment.iter_extensions
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.environment.Environment._compile
    - jinja2.environment.Environment.compile_expression
    - <builtin>.len
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - jinja2.compiler.generate
    - collections.deque.popleft
    - jinja2.environment.Environment._parse
    - collections.ChainMap
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.__init__
    - jinja2.environment.Environment.make_globals
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.fail_eof
    - jinja2.parser.Parser.parse_statement
    - functools.reduce
    - fdp.ConsumeString
    - jinja2.parser.Parser.parse_condexpr
    - atheris.FuzzedDataProvider
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - <builtin>.iter
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.environment.Environment._tokenize
    - jinja2.lexer.TokenStream.__init__
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.FuzzedDataProvider
    functionSourceFile: atheris
    functionUses: 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: fdp.ConsumeString
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bdbdaf0>
    argNames:
    - self
    - source
    - undefined_to_none
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 772
    functionName: jinja2.environment.Environment.compile_expression
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - jinja2.environment.Environment.from_string
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - <builtin>.str
    - collections.deque.extend
    - <builtin>.sorted
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser._fail_ut_eof
    - kwargs.append
    - generator.stream.getvalue
    - typing.NamedTuple.__init__
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - ext.filter_stream
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.environment.Environment.compile
    - jinja2.parser.Parser.parse_signature
    - jinja2.nodes.Node.set_environment
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.environment.Environment._generate
    - cls.from_code
    - jinja2.environment.Environment.handle_exception
    - jinja2.parser.Parser.parse_statements
    - item.can_assign
    - jinja2.environment.TemplateExpression.__init__
    - environment.code_generator_class
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - jinja2.lexer.describe_token
    - <builtin>.type
    - ops.append
    - generator.visit
    - jinja2.environment.Environment.preprocess
    - jinja2.parser.Parser.parse
    - <builtin>.map
    - jinja2.environment.Environment.iter_extensions
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.environment.Environment._compile
    - <builtin>.len
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - jinja2.compiler.generate
    - collections.deque.popleft
    - jinja2.environment.Environment._parse
    - collections.ChainMap
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.__init__
    - jinja2.environment.Environment.make_globals
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.fail_eof
    - jinja2.parser.Parser.parse_statement
    - functools.reduce
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - <builtin>.iter
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.environment.Environment._tokenize
    - jinja2.lexer.TokenStream.__init__
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised:
    - TemplateSyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 36
    functionName: '...fuzz_jinja_compile_expr.main'
    functionSourceFile: '...fuzz_jinja_compile_expr'
    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: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2
    functionSourceFile: jinja2
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.bccache
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - pickle.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 26
    functionName: jinja2.bccache._MemcachedClient.get
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bf1dfa0>
    argNames:
    - self
    - key
    - value
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 29
    functionName: jinja2.bccache._MemcachedClient.set
    functionSourceFile: jinja2.bccache
    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: pickle.dumps
    functionSourceFile: pickle
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - environment
    - key
    - checksum
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 53
    functionName: jinja2.bccache.Bucket.__init__
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached:
    - jinja2.bccache.Bucket.reset
    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: 59
    functionName: jinja2.bccache.Bucket.reset
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: jinja2.bccache.Bucket.load_bytecode
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached:
    - pickle.load
    - marshal.load
    - io.BytesIO.read
    - jinja2.bccache.Bucket.reset
    - <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: 179
    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.read
    functionSourceFile: io
    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: pickle.load
    functionSourceFile: pickle
    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: marshal.load
    functionSourceFile: marshal
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: jinja2.bccache.Bucket.write_bytecode
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached:
    - marshal.dump
    - pickle.dump
    - io.BytesIO.write
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO.write
    functionSourceFile: io
    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: pickle.dump
    functionSourceFile: pickle
    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: marshal.dump
    functionSourceFile: marshal
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 90
    functionName: jinja2.bccache.Bucket.bytecode_from_string
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - io.BytesIO
    - pickle.load
    - marshal.load
    - jinja2.bccache.Bucket.load_bytecode
    - io.BytesIO.read
    - jinja2.bccache.Bucket.reset
    - <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: io.BytesIO
    functionSourceFile: io
    functionUses: 2
    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: 2
    functionLinenumber: 94
    functionName: jinja2.bccache.Bucket.bytecode_to_string
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - io.BytesIO
    - io.BytesIO.write
    - marshal.dump
    - jinja2.bccache.Bucket.write_bytecode
    - pickle.dump
    - io.BytesIO.getvalue
    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.getvalue
    functionSourceFile: io
    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
    - bucket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 130
    functionName: jinja2.bccache.BytecodeCache.load_bytecode
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - bucket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 137
    functionName: jinja2.bccache.BytecodeCache.dump_bytecode
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    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: 144
    functionName: jinja2.bccache.BytecodeCache.clear
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c29eb80>
    argNames:
    - self
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 150
    functionName: jinja2.bccache.BytecodeCache.get_cache_key
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached:
    - hashlib.sha1
    - hashlib.sha1.hexdigest
    - name.encode
    - hashlib.sha1.update
    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.encode
    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: hashlib.sha1
    functionSourceFile: hashlib
    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: hashlib.sha1.update
    functionSourceFile: hashlib
    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: hashlib.sha1.hexdigest
    functionSourceFile: hashlib
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - source
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 161
    functionName: jinja2.bccache.BytecodeCache.get_source_checksum
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached:
    - source.encode
    - hashlib.sha1.hexdigest
    - hashlib.sha1
    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: source.encode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - environment
    - name
    - filename
    - source
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 165
    functionName: jinja2.bccache.BytecodeCache.get_bucket
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - hashlib.sha1.update
    - jinja2.bccache.BytecodeCache.load_bytecode
    - hashlib.sha1.hexdigest
    - jinja2.bccache.Bucket.__init__
    - source.encode
    - name.encode
    - jinja2.bccache.BytecodeCache.get_source_checksum
    - jinja2.bccache.Bucket.reset
    - hashlib.sha1
    - jinja2.bccache.BytecodeCache.get_cache_key
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - bucket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 181
    functionName: jinja2.bccache.BytecodeCache.set_bucket
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - jinja2.bccache.BytecodeCache.dump_bytecode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ce2fd30>
    - <ast.Constant object at 0x7eff4ce2f850>
    argNames:
    - self
    - directory
    - pattern
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 204
    functionName: jinja2.bccache.FileSystemBytecodeCache.__init__
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - stat.S_IMODE
    - <builtin>.hasattr
    - os.getuid
    - os.path.join
    - os.chmod
    - os.mkdir
    - jinja2.bccache.FileSystemBytecodeCache._get_default_cache_dir
    - stat.S_ISDIR
    - os.lstat
    - jinja2.bccache.FileSystemBytecodeCache._get_default_cache_dir._unsafe_dir
    - tempfile.gettempdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 212
    functionName: jinja2.bccache.FileSystemBytecodeCache._get_default_cache_dir
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached:
    - stat.S_IMODE
    - os.getuid
    - <builtin>.hasattr
    - os.path.join
    - os.chmod
    - os.mkdir
    - stat.S_ISDIR
    - os.lstat
    - jinja2.bccache.FileSystemBytecodeCache._get_default_cache_dir._unsafe_dir
    - tempfile.gettempdir
    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: 213
    functionName: jinja2.bccache.FileSystemBytecodeCache._get_default_cache_dir._unsafe_dir
    functionSourceFile: jinja2.bccache
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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.gettempdir
    functionSourceFile: tempfile
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hasattr
    functionSourceFile: <builtin>
    functionUses: 52
    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.getuid
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.join
    functionSourceFile: os
    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.mkdir
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.chmod
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.lstat
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stat.S_ISDIR
    functionSourceFile: stat
    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: stat.S_IMODE
    functionSourceFile: stat
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - bucket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 259
    functionName: jinja2.bccache.FileSystemBytecodeCache._get_cache_filename
    functionSourceFile: jinja2.bccache
    functionUses: 2
    functionsReached:
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - bucket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 262
    functionName: jinja2.bccache.FileSystemBytecodeCache.load_bytecode
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - bucket.load_bytecode
    - <builtin>.open
    - jinja2.bccache.FileSystemBytecodeCache._get_cache_filename
    - os.path.join
    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: 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: bucket.load_bytecode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - bucket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 277
    functionName: jinja2.bccache.FileSystemBytecodeCache.dump_bytecode
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - tempfile.NamedTemporaryFile
    - os.path.dirname
    - jinja2.bccache.FileSystemBytecodeCache.dump_bytecode.remove_silent
    - jinja2.bccache.FileSystemBytecodeCache._get_cache_filename
    - os.path.join
    - os.remove
    - os.path.basename
    - os.replace
    - bucket.write_bytecode
    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.dirname
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.basename
    functionSourceFile: os
    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: tempfile.NamedTemporaryFile
    functionSourceFile: tempfile
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 290
    functionName: jinja2.bccache.FileSystemBytecodeCache.dump_bytecode.remove_silent
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached:
    - os.remove
    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.remove
    functionSourceFile: os
    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: bucket.write_bytecode
    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: os.replace
    functionSourceFile: os
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 315
    functionName: jinja2.bccache.FileSystemBytecodeCache.clear
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - os.path.join
    - os.listdir
    - fnmatch.filter
    - os.remove
    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.listdir
    functionSourceFile: os
    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: fnmatch.filter
    functionSourceFile: fnmatch
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ce33a00>
    - <ast.Constant object at 0x7eff4ce33790>
    - <ast.Constant object at 0x7eff4ce33ac0>
    argNames:
    - self
    - client
    - prefix
    - timeout
    - ignore_memcache_errors
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 374
    functionName: jinja2.bccache.MemcachedBytecodeCache.__init__
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - bucket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 386
    functionName: jinja2.bccache.MemcachedBytecodeCache.load_bytecode
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - bucket.bytecode_from_string
    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: bucket.bytecode_from_string
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - bucket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 395
    functionName: jinja2.bccache.MemcachedBytecodeCache.dump_bytecode
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - bucket.bytecode_to_string
    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: bucket.bytecode_to_string
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.environment
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - functools.lru_cache
    - 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: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.lru_cache
    functionSourceFile: functools
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 67
    functionName: jinja2.environment.get_spontaneous_environment
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - size
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 80
    functionName: jinja2.environment.create_cache
    functionSourceFile: jinja2.environment
    functionUses: 3
    functionsReached:
    - collections.deque
    - jinja2.utils.LRUCache._postinit
    - threading.Lock
    - jinja2.utils.LRUCache.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - capacity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 428
    functionName: jinja2.utils.LRUCache.__init__
    functionSourceFile: jinja2.utils
    functionUses: 6
    functionsReached:
    - jinja2.utils.LRUCache._postinit
    - threading.Lock
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - cache
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 93
    functionName: jinja2.environment.copy_cache
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - <builtin>.type
    - jinja2.utils.LRUCache._postinit
    - threading.Lock
    - collections.deque
    - jinja2.utils.LRUCache.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.type
    functionSourceFile: <builtin>
    functionUses: 132
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - environment
    - extensions
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 108
    functionName: jinja2.environment.load_extensions
    functionSourceFile: jinja2.environment
    functionUses: 4
    functionsReached:
    - import_name.rpartition
    - <builtin>.getattr
    - typing.cast
    - <builtin>.isinstance
    - import_name.split
    - jinja2.utils.import_string
    - <builtin>.__import__
    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: 195
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cde07f0>
    argNames:
    - import_name
    - silent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: jinja2.utils.import_string
    functionSourceFile: jinja2.utils
    functionUses: 5
    functionsReached:
    - import_name.rpartition
    - <builtin>.getattr
    - import_name.split
    - <builtin>.__import__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast
    functionSourceFile: typing
    functionUses: 48
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - environment
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 126
    functionName: jinja2.environment._environment_config_check
    functionSourceFile: jinja2.environment
    functionUses: 3
    functionsReached:
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.issubclass
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 23
    argDefaultValues:
    - <ast.Name object at 0x7eff4beed4c0>
    - <ast.Name object at 0x7eff4beedb50>
    - <ast.Name object at 0x7eff4beed250>
    - <ast.Name object at 0x7eff4beed490>
    - <ast.Name object at 0x7eff4beedc10>
    - <ast.Name object at 0x7eff4beed0d0>
    - <ast.Name object at 0x7eff4beed280>
    - <ast.Name object at 0x7eff4beede80>
    - <ast.Name object at 0x7eff4beed310>
    - <ast.Name object at 0x7eff4beedca0>
    - <ast.Name object at 0x7eff4beed1c0>
    - <ast.Name object at 0x7eff4beed3d0>
    - <ast.Tuple object at 0x7eff4beedcd0>
    - <ast.Constant object at 0x7eff4beed100>
    - <ast.Name object at 0x7eff4beed3a0>
    - <ast.Constant object at 0x7eff4beedeb0>
    - <ast.Constant object at 0x7eff4beed130>
    - <ast.Constant object at 0x7eff4beedaf0>
    - <ast.Constant object at 0x7eff4beed2b0>
    - <ast.Constant object at 0x7eff4beed430>
    - <ast.Constant object at 0x7eff4beedb80>
    - <ast.Constant object at 0x7eff4beed1f0>
    argNames:
    - self
    - block_start_string
    - block_end_string
    - variable_start_string
    - variable_end_string
    - comment_start_string
    - comment_end_string
    - line_statement_prefix
    - line_comment_prefix
    - trim_blocks
    - lstrip_blocks
    - newline_sequence
    - keep_trailing_newline
    - extensions
    - optimized
    - undefined
    - finalize
    - autoescape
    - loader
    - cache_size
    - auto_reload
    - bytecode_cache
    - enable_async
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 294
    functionName: jinja2.environment.Environment.__init__
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - jinja2.environment.load_extensions
    - <builtin>.issubclass
    - DEFAULT_FILTERS.copy
    - DEFAULT_TESTS.copy
    - jinja2.utils.import_string
    - jinja2.environment.create_cache
    - DEFAULT_NAMESPACE.copy
    - jinja2.utils.LRUCache.__init__
    - import_name.rpartition
    - DEFAULT_POLICIES.copy
    - jinja2.utils.LRUCache._postinit
    - threading.Lock
    - <builtin>.__import__
    - typing.cast
    - <builtin>.isinstance
    - jinja2.environment._environment_config_check
    - import_name.split
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: DEFAULT_FILTERS.copy
    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: DEFAULT_TESTS.copy
    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: DEFAULT_NAMESPACE.copy
    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: DEFAULT_POLICIES.copy
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - extension
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 370
    functionName: jinja2.environment.Environment.add_extension
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - import_name.rpartition
    - <builtin>.getattr
    - typing.cast
    - <builtin>.isinstance
    - jinja2.environment.load_extensions
    - import_name.split
    - jinja2.utils.import_string
    - <builtin>.__import__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - attributes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 377
    functionName: jinja2.environment.Environment.extend
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - attributes.items
    - <builtin>.setattr
    - <builtin>.hasattr
    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: attributes.items
    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>.setattr
    functionSourceFile: <builtin>
    functionUses: 138
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 23
    argDefaultValues:
    - <ast.Name object at 0x7eff4c638a30>
    - <ast.Name object at 0x7eff4c638550>
    - <ast.Name object at 0x7eff4c638520>
    - <ast.Name object at 0x7eff4c638940>
    - <ast.Name object at 0x7eff4c6384c0>
    - <ast.Name object at 0x7eff4c638880>
    - <ast.Name object at 0x7eff4c6388b0>
    - <ast.Name object at 0x7eff4c638b20>
    - <ast.Name object at 0x7eff4c638a60>
    - <ast.Name object at 0x7eff4c638f70>
    - <ast.Name object at 0x7eff4c638700>
    - <ast.Name object at 0x7eff4c6386d0>
    - <ast.Name object at 0x7eff4c638fd0>
    - <ast.Name object at 0x7eff4c638970>
    - <ast.Name object at 0x7eff4c6381f0>
    - <ast.Name object at 0x7eff4c638ac0>
    - <ast.Name object at 0x7eff4c638250>
    - <ast.Name object at 0x7eff4c638670>
    - <ast.Name object at 0x7eff4c6381c0>
    - <ast.Name object at 0x7eff4c638af0>
    - <ast.Name object at 0x7eff4c638580>
    - <ast.Constant object at 0x7eff4c6383d0>
    argNames:
    - self
    - block_start_string
    - block_end_string
    - variable_start_string
    - variable_end_string
    - comment_start_string
    - comment_end_string
    - line_statement_prefix
    - line_comment_prefix
    - trim_blocks
    - lstrip_blocks
    - newline_sequence
    - keep_trailing_newline
    - extensions
    - optimized
    - undefined
    - finalize
    - autoescape
    - loader
    - cache_size
    - auto_reload
    - bytecode_cache
    - enable_async
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 386
    functionName: jinja2.environment.Environment.overlay
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.environment.load_extensions
    - <builtin>.issubclass
    - object.__new__
    - jinja2.utils.import_string
    - rv.__dict__.update
    - <builtin>.locals
    - value.bind
    - collections.deque
    - <builtin>.type
    - jinja2.environment.create_cache
    - import_name.rpartition
    - <builtin>.setattr
    - <builtin>.dict
    - jinja2.utils.LRUCache._postinit
    - threading.Lock
    - rv.extensions.update
    - <builtin>.__import__
    - typing.cast
    - <builtin>.isinstance
    - jinja2.environment._environment_config_check
    - import_name.split
    - args.items
    - jinja2.environment.copy_cache
    - jinja2.utils.LRUCache.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.locals
    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>.dict
    functionSourceFile: <builtin>
    functionUses: 23
    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: object.__new__
    functionSourceFile: <builtin>
    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: rv.__dict__.update
    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: args.items
    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: value.bind
    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: rv.extensions.update
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 455
    functionName: jinja2.environment.Environment.lexer
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.lexer.get_lexer
    - <builtin>.sorted
    - jinja2.lexer.compile_rules
    - typing.NamedTuple.__init__
    - re.escape
    - rules.append
    - re.compile
    - jinja2.lexer.Lexer.__init__
    - <builtin>.len
    - _lexer_cache.get
    - jinja2.lexer.Lexer.__init__.c
    - jinja2.lexer.Failure.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - environment
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 426
    functionName: jinja2.lexer.get_lexer
    functionSourceFile: jinja2.lexer
    functionUses: 1
    functionsReached:
    - <builtin>.sorted
    - jinja2.lexer.compile_rules
    - typing.NamedTuple.__init__
    - re.escape
    - rules.append
    - re.compile
    - jinja2.lexer.Lexer.__init__
    - <builtin>.len
    - _lexer_cache.get
    - jinja2.lexer.Lexer.__init__.c
    - jinja2.lexer.Failure.__init__
    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: 1
    functionLinenumber: 459
    functionName: jinja2.environment.Environment.iter_extensions
    functionSourceFile: jinja2.environment
    functionUses: 12
    functionsReached:
    - <builtin>.sorted
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.environment.Environment.iter_extensions.<lambda1>
    functionSourceFile: jinja2.environment
    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>.sorted
    functionSourceFile: <builtin>
    functionUses: 30
    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>.iter
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - argument
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 463
    functionName: jinja2.environment.Environment.getitem
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.str
    - jinja2.environment.Environment.getattr
    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>.str
    functionSourceFile: <builtin>
    functionUses: 43
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 482
    functionName: jinja2.environment.Environment.getattr
    functionSourceFile: jinja2.environment
    functionUses: 3
    functionsReached:
    - jinja2.environment.Environment.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 4
    IfCount: 9
    argCount: 8
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    - args
    - kwargs
    - context
    - eval_ctx
    - is_filter
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 495
    functionName: jinja2.environment.Environment._filter_test_common
    functionSourceFile: jinja2.environment
    functionUses: 2
    functionsReached:
    - args.insert
    - <builtin>.isinstance
    - <builtin>.hasattr
    - jinja2.nodes.EvalContext.__init__
    - name._fail_with_undefined_error
    - jinja2.utils._PassArg.from_obj
    - <builtin>.callable
    - env_map.get
    linkageType: pythonLinkage
    raised:
    - TemplateRuntimeError
    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: env_map.get
    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: name._fail_with_undefined_error
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: jinja2.utils._PassArg.from_obj
    functionSourceFile: jinja2.utils
    functionUses: 15
    functionsReached:
    - <builtin>.hasattr
    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: args.insert
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4d9505e0>
    argNames:
    - self
    - environment
    - template_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 74
    functionName: jinja2.nodes.EvalContext.__init__
    functionSourceFile: jinja2.nodes
    functionUses: 25
    functionsReached:
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bdcd430>
    - <ast.Constant object at 0x7eff4bdcd400>
    - <ast.Constant object at 0x7eff4bdcd3d0>
    - <ast.Constant object at 0x7eff4bdcd3a0>
    argNames:
    - self
    - name
    - value
    - args
    - kwargs
    - context
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 549
    functionName: jinja2.environment.Environment.call_filter
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - args.insert
    - <builtin>.isinstance
    - <builtin>.hasattr
    - jinja2.nodes.EvalContext.__init__
    - name._fail_with_undefined_error
    - jinja2.utils._PassArg.from_obj
    - <builtin>.callable
    - jinja2.environment.Environment._filter_test_common
    - env_map.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bdc28e0>
    - <ast.Constant object at 0x7eff4bdc28b0>
    - <ast.Constant object at 0x7eff4bdc2880>
    - <ast.Constant object at 0x7eff4bdc2850>
    argNames:
    - self
    - name
    - value
    - args
    - kwargs
    - context
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 570
    functionName: jinja2.environment.Environment.call_test
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - args.insert
    - <builtin>.isinstance
    - <builtin>.hasattr
    - jinja2.nodes.EvalContext.__init__
    - name._fail_with_undefined_error
    - jinja2.utils._PassArg.from_obj
    - <builtin>.callable
    - jinja2.environment.Environment._filter_test_common
    - env_map.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jinja2.environment.Environment
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - typing.overload
    - internal_code.add
    - jinja2.utils.internalcode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 89
    functionName: jinja2.utils.internalcode
    functionSourceFile: jinja2.utils
    functionUses: 11
    functionsReached:
    - internal_code.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bdc2220>
    - <ast.Constant object at 0x7eff4bdc21f0>
    argNames:
    - self
    - source
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 596
    functionName: jinja2.environment.Environment.parse
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - <builtin>.str
    - collections.deque.extend
    - <builtin>.sorted
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser._fail_ut_eof
    - kwargs.append
    - typing.NamedTuple.__init__
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - ext.filter_stream
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_signature
    - jinja2.nodes.Node.set_environment
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.environment.Environment.handle_exception
    - jinja2.parser.Parser.parse_statements
    - item.can_assign
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - ops.append
    - jinja2.environment.Environment.preprocess
    - jinja2.parser.Parser.parse
    - <builtin>.map
    - jinja2.environment.Environment.iter_extensions
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - jinja2.environment.Environment._parse
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.__init__
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_statement
    - functools.reduce
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - <builtin>.iter
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.environment.Environment._tokenize
    - jinja2.lexer.TokenStream.__init__
    - jinja2.parser.Parser.fail_eof
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - source
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 19
    functionLinenumber: 615
    functionName: jinja2.environment.Environment._parse
    functionSourceFile: jinja2.environment
    functionUses: 8
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - <builtin>.str
    - collections.deque.extend
    - <builtin>.sorted
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser._fail_ut_eof
    - kwargs.append
    - typing.NamedTuple.__init__
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - ext.filter_stream
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_signature
    - jinja2.nodes.Node.set_environment
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - item.can_assign
    - jinja2.parser.Parser.parse_statements
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - ops.append
    - jinja2.environment.Environment.preprocess
    - jinja2.parser.Parser.parse
    - <builtin>.map
    - jinja2.environment.Environment.iter_extensions
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.__init__
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_statement
    - functools.reduce
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - <builtin>.iter
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.environment.Environment._tokenize
    - jinja2.lexer.TokenStream.__init__
    - jinja2.parser.Parser.fail_eof
    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 0x7eff4bda63a0>
    argNames:
    - self
    - source
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 932
    functionName: jinja2.environment.Environment.handle_exception
    functionSourceFile: ''
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - rewrite_traceback_stack
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cbc2430>
    - <ast.Constant object at 0x7eff4cbc2400>
    - <ast.Constant object at 0x7eff4cbc23d0>
    argNames:
    - self
    - environment
    - source
    - name
    - filename
    - state
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 51
    functionName: jinja2.parser.Parser.__init__
    functionSourceFile: jinja2.parser
    functionUses: 9
    functionsReached:
    - <builtin>.str
    - <builtin>.sorted
    - collections.deque
    - <builtin>.isinstance
    - <builtin>.iter
    - typing.NamedTuple.__init__
    - jinja2.environment.Environment.preprocess
    - functools.reduce
    - jinja2.environment.Environment._tokenize
    - jinja2.lexer.TokenStream.__init__
    - <builtin>.next
    - ext.filter_stream
    - jinja2.environment.Environment.iter_extensions
    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: 18
    functionLinenumber: 1037
    functionName: jinja2.parser.Parser.parse
    functionSourceFile: jinja2.parser
    functionUses: 9
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - collections.deque.extend
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser._fail_ut_eof
    - kwargs.append
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_call_args
    - jinja2.lexer.TokenStream.next_if
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_signature
    - jinja2.nodes.Node.set_environment
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - item.can_assign
    - jinja2.parser.Parser.parse_statements
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - ops.append
    - <builtin>.map
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.lexer.describe_token_expr
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.fail_eof
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bdcc490>
    - <ast.Constant object at 0x7eff4bdcc460>
    argNames:
    - self
    - source
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 621
    functionName: jinja2.environment.Environment.lex
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - jinja2.environment.Environment.handle_exception
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bdc3a30>
    - <ast.Constant object at 0x7eff4bdc3a00>
    argNames:
    - self
    - source
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 642
    functionName: jinja2.environment.Environment.preprocess
    functionSourceFile: jinja2.environment
    functionUses: 11
    functionsReached:
    - <builtin>.str
    - <builtin>.sorted
    - <builtin>.iter
    - functools.reduce
    - jinja2.environment.Environment.iter_extensions
    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: jinja2.environment.Environment.preprocess.<lambda1>
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - e.preprocess
    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: e.preprocess
    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: functools.reduce
    functionSourceFile: functools
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bdc3160>
    - <ast.Constant object at 0x7eff4bdc3130>
    argNames:
    - self
    - source
    - name
    - filename
    - state
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 658
    functionName: jinja2.environment.Environment._tokenize
    functionSourceFile: jinja2.environment
    functionUses: 10
    functionsReached:
    - <builtin>.str
    - <builtin>.sorted
    - <builtin>.isinstance
    - <builtin>.iter
    - typing.NamedTuple.__init__
    - jinja2.environment.Environment.preprocess
    - functools.reduce
    - ext.filter_stream
    - jinja2.lexer.TokenStream.__init__
    - <builtin>.next
    - collections.deque
    - jinja2.environment.Environment.iter_extensions
    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: ext.filter_stream
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - generator
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 323
    functionName: jinja2.lexer.TokenStream.__init__
    functionSourceFile: jinja2.lexer
    functionUses: 12
    functionsReached:
    - typing.NamedTuple.__init__
    - <builtin>.next
    - <builtin>.iter
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bdca3d0>
    argNames:
    - self
    - source
    - name
    - filename
    - defer_init
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 679
    functionName: jinja2.environment.Environment._generate
    functionSourceFile: jinja2.environment
    functionUses: 6
    functionsReached:
    - environment.code_generator_class
    - jinja2.compiler.generate
    - <builtin>.isinstance
    - generator.visit
    - generator.stream.getvalue
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bf61160>
    - <ast.Constant object at 0x7eff4bf61130>
    - <ast.Constant object at 0x7eff4bf61100>
    argNames:
    - node
    - environment
    - name
    - filename
    - stream
    - defer_init
    - optimized
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 101
    functionName: jinja2.compiler.generate
    functionSourceFile: jinja2.compiler
    functionUses: 7
    functionsReached:
    - <builtin>.isinstance
    - environment.code_generator_class
    - generator.visit
    - generator.stream.getvalue
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - source
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 21
    functionLinenumber: 700
    functionName: jinja2.environment.Environment._compile
    functionSourceFile: jinja2.environment
    functionUses: 5
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - <builtin>.str
    - collections.deque.extend
    - <builtin>.sorted
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - kwargs.append
    - jinja2.parser.Parser._fail_ut_eof
    - generator.stream.getvalue
    - typing.NamedTuple.__init__
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - ext.filter_stream
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_math1
    - jinja2.environment.Environment.compile
    - jinja2.parser.Parser.parse_signature
    - jinja2.nodes.Node.set_environment
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.environment.Environment._generate
    - jinja2.environment.Environment.handle_exception
    - jinja2.parser.Parser.parse_statements
    - item.can_assign
    - environment.code_generator_class
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - ops.append
    - generator.visit
    - jinja2.environment.Environment.preprocess
    - jinja2.parser.Parser.parse
    - <builtin>.map
    - jinja2.environment.Environment.iter_extensions
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.environment.Environment._compile
    - <builtin>.len
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - jinja2.compiler.generate
    - jinja2.environment.Environment._parse
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.__init__
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.fail_eof
    - jinja2.parser.Parser.parse_statement
    - functools.reduce
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - <builtin>.iter
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.environment.Environment._tokenize
    - jinja2.lexer.TokenStream.__init__
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bdc7a30>
    - <ast.Constant object at 0x7eff4bdc7a00>
    - <ast.Constant object at 0x7eff4bdc79d0>
    - <ast.Constant object at 0x7eff4bdc79a0>
    argNames:
    - self
    - source
    - name
    - filename
    - raw
    - defer_init
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 731
    functionName: jinja2.environment.Environment.compile
    functionSourceFile: jinja2.environment
    functionUses: 5
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - <builtin>.str
    - collections.deque.extend
    - <builtin>.sorted
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser._fail_ut_eof
    - kwargs.append
    - generator.stream.getvalue
    - typing.NamedTuple.__init__
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - ext.filter_stream
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_math1
    - jinja2.environment.Environment.compile
    - jinja2.parser.Parser.parse_signature
    - jinja2.nodes.Node.set_environment
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.environment.Environment._generate
    - jinja2.environment.Environment.handle_exception
    - jinja2.parser.Parser.parse_statements
    - item.can_assign
    - environment.code_generator_class
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - ops.append
    - generator.visit
    - jinja2.environment.Environment.preprocess
    - jinja2.parser.Parser.parse
    - <builtin>.map
    - jinja2.environment.Environment.iter_extensions
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.environment.Environment._compile
    - <builtin>.len
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - jinja2.compiler.generate
    - jinja2.environment.Environment._parse
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.__init__
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_statement
    - functools.reduce
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.lexer.describe_token_expr
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - <builtin>.iter
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.environment.Environment._tokenize
    - jinja2.lexer.TokenStream.__init__
    - jinja2.parser.Parser.fail_eof
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.overload
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cbbe040>
    argNames:
    - self
    - with_condexpr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 515
    functionName: jinja2.parser.Parser.parse_expression
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - <builtin>.range
    - jinja2.lexer.describe_token
    - ops.append
    - jinja2.parser.Parser.parse_test
    - jinja2.parser.Parser.parse_condexpr
    - attributes.pop
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - buf.append
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 229
    functionName: jinja2.nodes.Node.set_environment
    functionSourceFile: jinja2.nodes
    functionUses: 10
    functionsReached:
    - node.iter_child_nodes
    - collections.deque.popleft
    - collections.deque.extend
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - fields
    - attributes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 127
    functionName: jinja2.nodes.Node.__init__
    functionSourceFile: jinja2.nodes
    functionUses: 135
    functionsReached:
    - <builtin>.len
    - <builtin>.setattr
    - <builtin>.zip
    - attributes.pop
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cc98ac0>
    - <ast.Constant object at 0x7eff4cc98a90>
    argNames:
    - self
    - source
    - globals
    - template_class
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 21
    functionLinenumber: 1088
    functionName: jinja2.environment.Environment.from_string
    functionSourceFile: jinja2.environment
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - <builtin>.str
    - collections.deque.extend
    - <builtin>.sorted
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - kwargs.append
    - jinja2.parser.Parser._fail_ut_eof
    - generator.stream.getvalue
    - typing.NamedTuple.__init__
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - ext.filter_stream
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.lexer.TokenStream.next_if
    - jinja2.lexer._describe_token_type
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.environment.Environment.compile
    - jinja2.parser.Parser.parse_signature
    - jinja2.nodes.Node.set_environment
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.environment.Environment._generate
    - cls.from_code
    - jinja2.environment.Environment.handle_exception
    - jinja2.parser.Parser.parse_statements
    - item.can_assign
    - environment.code_generator_class
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - ops.append
    - generator.visit
    - jinja2.environment.Environment.preprocess
    - jinja2.parser.Parser.parse
    - <builtin>.map
    - jinja2.environment.Environment.iter_extensions
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.environment.Environment._compile
    - <builtin>.len
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - jinja2.compiler.generate
    - jinja2.environment.Environment._parse
    - collections.deque.popleft
    - collections.ChainMap
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.environment.Environment.make_globals
    - jinja2.parser.Parser.__init__
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.fail_eof
    - jinja2.parser.Parser.parse_statement
    - functools.reduce
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - <builtin>.iter
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.environment.Environment._tokenize
    - jinja2.lexer.TokenStream.__init__
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - template
    - undefined_to_none
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1563
    functionName: jinja2.environment.TemplateExpression.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 9
    IfCount: 5
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bdbc280>
    - <ast.Constant object at 0x7eff4bdbc250>
    - <ast.Constant object at 0x7eff4bdbc220>
    - <ast.Constant object at 0x7eff4bdbc1f0>
    - <ast.Constant object at 0x7eff4bdbc1c0>
    argNames:
    - self
    - target
    - extensions
    - filter_func
    - zip
    - log_function
    - ignore_errors
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 21
    functionLinenumber: 817
    functionName: jinja2.environment.Environment.compile_templates
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - zipfile.ZipInfo
    - args.append
    - <builtin>.str
    - collections.deque.extend
    - <builtin>.sorted
    - jinja2.parser.Parser.parse_test
    - name.encode
    - os.path.isdir
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.list
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.environment.Environment.compile_templates.log_function
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser._fail_ut_eof
    - kwargs.append
    - generator.stream.getvalue
    - typing.NamedTuple.__init__
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - zipfile.ZipFile.writestr
    - data.encode
    - ext.filter_stream
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.environment.Environment.compile
    - zipfile.ZipFile.close
    - jinja2.parser.Parser.parse_signature
    - os.makedirs
    - jinja2.nodes.Node.set_environment
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.environment.Environment._generate
    - os.path.join
    - jinja2.environment.Environment.handle_exception
    - jinja2.parser.Parser.parse_statements
    - item.can_assign
    - environment.code_generator_class
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - jinja2.loaders.ModuleLoader.get_module_filename
    - ops.append
    - generator.visit
    - jinja2.environment.Environment.preprocess
    - jinja2.parser.Parser.parse
    - <builtin>.map
    - jinja2.environment.Environment.iter_extensions
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.environment.Environment._compile
    - <builtin>.len
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - jinja2.environment.Environment.list_templates.filter_func
    - <builtin>.open
    - jinja2.compiler.generate
    - f.write
    - jinja2.environment.Environment._parse
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.environment.Environment.compile_templates.write_file
    - jinja2.parser.Parser.fail_unknown_tag
    - hashlib.sha1.hexdigest
    - jinja2.parser.Parser.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.loaders.ModuleLoader.get_template_key
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_statement
    - functools.reduce
    - jinja2.parser.Parser.parse_condexpr
    - x.rsplit
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer.TokenStream.push
    - zipfile.ZipFile
    - jinja2.parser.Parser.parse_subscript
    - jinja2.environment.Environment.list_templates
    - defaults.append
    - <builtin>.dict
    - jinja2.parser.Parser.parse_list
    - <builtin>.iter
    - hashlib.sha1
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.environment.Environment._tokenize
    - jinja2.lexer.TokenStream.__init__
    - jinja2.parser.Parser.fail_eof
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 847
    functionName: jinja2.environment.Environment.compile_templates.log_function
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - filename
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 853
    functionName: jinja2.environment.Environment.compile_templates.write_file
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - zipfile.ZipInfo
    - <builtin>.open
    - zipfile.ZipFile.writestr
    - f.write
    - data.encode
    - os.path.join
    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: zipfile.ZipInfo
    functionSourceFile: zipfile
    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: zipfile.ZipFile.writestr
    functionSourceFile: zipfile
    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: data.encode
    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: zipfile.ZipFile
    functionSourceFile: zipfile
    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: os.path.isdir
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.makedirs
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bdb92e0>
    - <ast.Constant object at 0x7eff4bdb92b0>
    argNames:
    - self
    - extensions
    - filter_func
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 895
    functionName: jinja2.environment.Environment.list_templates
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - x.rsplit
    - jinja2.environment.Environment.list_templates.filter_func
    linkageType: pythonLinkage
    raised:
    - TypeError
    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: 2
    functionLinenumber: 634
    functionName: jinja2.loaders.ModuleLoader.get_module_filename
    functionSourceFile: jinja2.loaders
    functionUses: 1
    functionsReached:
    - hashlib.sha1
    - jinja2.loaders.ModuleLoader.get_template_key
    - name.encode
    - hashlib.sha1.hexdigest
    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: zipfile.ZipFile.close
    functionSourceFile: zipfile
    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:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 924
    functionName: jinja2.environment.Environment.list_templates.filter_func
    functionSourceFile: jinja2.environment
    functionUses: 2
    functionsReached:
    - x.rsplit
    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: x.rsplit
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - template
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 940
    functionName: jinja2.environment.Environment.join_path
    functionSourceFile: jinja2.environment
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 953
    functionName: jinja2.environment.Environment._load_template
    functionSourceFile: jinja2.environment
    functionUses: 3
    functionsReached:
    - jinja2.environment.Environment.make_globals
    - collections.ChainMap
    - weakref.ref
    - template.globals.update
    - jinja2.utils.LRUCache.get
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: weakref.ref
    functionSourceFile: weakref
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c2aff10>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 465
    functionName: jinja2.utils.LRUCache.get
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: template.globals.update
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - d
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1109
    functionName: jinja2.environment.Environment.make_globals
    functionSourceFile: jinja2.environment
    functionUses: 7
    functionsReached:
    - collections.ChainMap
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ccb66d0>
    - <ast.Constant object at 0x7eff4ccb66a0>
    argNames:
    - self
    - name
    - parent
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 978
    functionName: jinja2.environment.Environment.get_template
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - jinja2.environment.Environment._load_template
    - jinja2.utils.LRUCache.get
    - jinja2.environment.Environment.make_globals
    - <builtin>.isinstance
    - jinja2.environment.Environment.join_path
    - weakref.ref
    - collections.ChainMap
    - template.globals.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ccb2af0>
    - <ast.Constant object at 0x7eff4ccb2ac0>
    argNames:
    - self
    - names
    - parent
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1015
    functionName: jinja2.environment.Environment.select_template
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - jinja2.environment.Environment._load_template
    - jinja2.environment.Environment.make_globals
    - <builtin>.isinstance
    - jinja2.environment.Environment.join_path
    - weakref.ref
    - collections.ChainMap
    - names._fail_with_undefined_error
    - template.globals.update
    - jinja2.utils.LRUCache.get
    linkageType: pythonLinkage
    raised:
    - TemplatesNotFound
    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: names._fail_with_undefined_error
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cca07c0>
    - <ast.Constant object at 0x7eff4cca0790>
    argNames:
    - self
    - template_name_or_list
    - parent
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1069
    functionName: jinja2.environment.Environment.get_or_select_template
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.environment.Environment._load_template
    - jinja2.environment.Environment.make_globals
    - <builtin>.isinstance
    - jinja2.environment.Environment.get_template
    - jinja2.environment.Environment.select_template
    - collections.ChainMap
    - weakref.ref
    - jinja2.environment.Environment.join_path
    - names._fail_with_undefined_error
    - template.globals.update
    - jinja2.utils.LRUCache.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cls.from_code
    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: collections.ChainMap
    functionSourceFile: collections
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 20
    argDefaultValues:
    - <ast.Name object at 0x7eff4cc9bca0>
    - <ast.Name object at 0x7eff4cc9bc70>
    - <ast.Name object at 0x7eff4cc9bc40>
    - <ast.Name object at 0x7eff4cc9bc10>
    - <ast.Name object at 0x7eff4cc9bbe0>
    - <ast.Name object at 0x7eff4cc9bbb0>
    - <ast.Name object at 0x7eff4cc9bb80>
    - <ast.Name object at 0x7eff4cc9bb50>
    - <ast.Name object at 0x7eff4cc9bb20>
    - <ast.Name object at 0x7eff4cc9baf0>
    - <ast.Name object at 0x7eff4cc9bac0>
    - <ast.Name object at 0x7eff4cc9ba90>
    - <ast.Tuple object at 0x7eff4cc9ba60>
    - <ast.Constant object at 0x7eff4cc9ba30>
    - <ast.Name object at 0x7eff4cc9ba00>
    - <ast.Constant object at 0x7eff4cc9b9d0>
    - <ast.Constant object at 0x7eff4cc9b9a0>
    - <ast.Constant object at 0x7eff4cc9b970>
    argNames:
    - cls
    - source
    - block_start_string
    - block_end_string
    - variable_start_string
    - variable_end_string
    - comment_start_string
    - comment_end_string
    - line_statement_prefix
    - line_comment_prefix
    - trim_blocks
    - lstrip_blocks
    - newline_sequence
    - keep_trailing_newline
    - extensions
    - optimized
    - undefined
    - finalize
    - autoescape
    - enable_async
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1163
    functionName: jinja2.environment.Template.__new__
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - env.from_string
    - jinja2.environment.get_spontaneous_environment
    - <builtin>.frozenset
    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: 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: env.from_string
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ccb8ca0>
    argNames:
    - cls
    - environment
    - code
    - globals
    - uptodate
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1213
    functionName: jinja2.environment.Template.from_code
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - <builtin>.exec
    - object.__new__
    - jinja2.environment.Template._from_namespace
    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>.exec
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - cls
    - environment
    - namespace
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1244
    functionName: jinja2.environment.Template._from_namespace
    functionSourceFile: jinja2.environment
    functionUses: 2
    functionsReached:
    - object.__new__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - cls
    - environment
    - module_dict
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1230
    functionName: jinja2.environment.Template.from_module_dict
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - object.__new__
    - jinja2.environment.Template._from_namespace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1271
    functionName: jinja2.environment.Template.render
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.environment.Template.new_context
    - <builtin>.dict
    - asyncio.get_running_loop
    - loop.run_until_complete
    - loop.close
    - jinja2.environment.Template.render_async
    - asyncio.new_event_loop
    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: asyncio.get_running_loop
    functionSourceFile: asyncio
    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: asyncio.new_event_loop
    functionSourceFile: asyncio
    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:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1305
    functionName: jinja2.environment.Template.render_async
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - <builtin>.dict
    - jinja2.environment.Template.new_context
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: loop.run_until_complete
    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: loop.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cca42b0>
    - <ast.Constant object at 0x7eff4cca42e0>
    - <ast.Constant object at 0x7eff4cca4310>
    argNames:
    - self
    - vars
    - shared
    - locals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1377
    functionName: jinja2.environment.Template.new_context
    functionSourceFile: jinja2.environment
    functionUses: 13
    functionsReached:
    - jinja2.environment.Template.new_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1328
    functionName: jinja2.environment.Template.stream
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.environment.Template.generate.to_list
    - jinja2.environment.Template.generate
    - jinja2.environment.Template.new_context
    - <builtin>.dict
    - jinja2.environment.Template.generate_async
    - jinja2.environment.TemplateStream.disable_buffering
    - jinja2.environment.TemplateStream.__init__
    - asyncio.run
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1334
    functionName: jinja2.environment.Template.generate
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - jinja2.environment.Template.generate.to_list
    - jinja2.environment.Template.new_context
    - <builtin>.dict
    - jinja2.environment.Template.generate_async
    - asyncio.run
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - gen
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1587
    functionName: jinja2.environment.TemplateStream.__init__
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - functools.partial
    - jinja2.environment.TemplateStream.disable_buffering
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1345
    functionName: jinja2.environment.Template.generate.to_list
    functionSourceFile: jinja2.environment
    functionUses: 2
    functionsReached:
    - jinja2.environment.Template.new_context
    - jinja2.environment.Template.generate_async
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1358
    functionName: jinja2.environment.Template.generate_async
    functionSourceFile: jinja2.environment
    functionUses: 3
    functionsReached:
    - <builtin>.dict
    - jinja2.environment.Template.new_context
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: asyncio.run
    functionSourceFile: asyncio
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cca4be0>
    - <ast.Constant object at 0x7eff4cca4c10>
    - <ast.Constant object at 0x7eff4cca4c40>
    argNames:
    - self
    - vars
    - shared
    - locals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1394
    functionName: jinja2.environment.Template.make_module
    functionSourceFile: jinja2.environment
    functionUses: 2
    functionsReached:
    - jinja2.environment.Template.new_context
    - template.root_render_func
    - jinja2.environment.TemplateModule.__init__
    - <builtin>.list
    - context.get_exported
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd40d90>
    argNames:
    - self
    - template
    - context
    - body_stream
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1523
    functionName: jinja2.environment.TemplateModule.__init__
    functionSourceFile: jinja2.environment
    functionUses: 5
    functionsReached:
    - context.get_exported
    - <builtin>.list
    - template.root_render_func
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ccc1520>
    - <ast.Constant object at 0x7eff4ccc1550>
    - <ast.Constant object at 0x7eff4ccc1580>
    argNames:
    - self
    - vars
    - shared
    - locals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1409
    functionName: jinja2.environment.Template.make_module_async
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - jinja2.environment.Template.new_context
    - template.root_render_func
    - jinja2.environment.TemplateModule.__init__
    - <builtin>.list
    - context.get_exported
    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: 2
    functionLinenumber: -1
    functionName: jinja2.environment.Template
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - internal_code.add
    - jinja2.utils.internalcode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ccc1c40>
    argNames:
    - self
    - ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1426
    functionName: jinja2.environment.Template._get_default_module
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - jinja2.environment.Template.new_context
    - jinja2.environment.Template.make_module
    - template.root_render_func
    - jinja2.environment.TemplateModule.__init__
    - <builtin>.list
    - context.get_exported
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd3e6d0>
    argNames:
    - self
    - ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1452
    functionName: jinja2.environment.Template._get_default_module_async
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.environment.Template.new_context
    - jinja2.environment.Template.make_module_async
    - template.root_render_func
    - jinja2.environment.TemplateModule.__init__
    - <builtin>.list
    - context.get_exported
    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: 4
    functionLinenumber: 1467
    functionName: jinja2.environment.Template.module
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.environment.Template.new_context
    - jinja2.environment.Template.make_module
    - template.root_render_func
    - jinja2.environment.Template._get_default_module
    - jinja2.environment.TemplateModule.__init__
    - <builtin>.list
    - context.get_exported
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - lineno
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1482
    functionName: jinja2.environment.Template.get_corresponding_lineno
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - <builtin>.reversed
    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>.reversed
    functionSourceFile: <builtin>
    functionUses: 8
    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: 1492
    functionName: jinja2.environment.Template.is_up_to_date
    functionSourceFile: jinja2.environment
    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: 1499
    functionName: jinja2.environment.Template.debug_info
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - <builtin>.map
    - x.split
    - <builtin>.tuple
    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: x.split
    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>.map
    functionSourceFile: <builtin>
    functionUses: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.tuple
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    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: 1509
    functionName: jinja2.environment.Template.__repr__
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - <builtin>.id
    - <builtin>.repr
    - <builtin>.type
    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>.id
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.repr
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: template.root_render_func
    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>.list
    functionSourceFile: <builtin>
    functionUses: 45
    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: context.get_exported
    functionSourceFile: <builtin>
    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: 1
    functionLinenumber: 1543
    functionName: jinja2.environment.TemplateModule.__html__
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - markupsafe.Markup
    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: markupsafe.Markup
    functionSourceFile: markupsafe
    functionUses: 22
    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: 1546
    functionName: jinja2.environment.TemplateModule.__str__
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached: []
    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: 1549
    functionName: jinja2.environment.TemplateModule.__repr__
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - <builtin>.id
    - <builtin>.repr
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1567
    functionName: jinja2.environment.TemplateExpression.__call__
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.dict
    - jinja2.utils.consume
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - iterable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 112
    functionName: jinja2.utils.consume
    functionSourceFile: ''
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1628
    functionName: jinja2.environment.TemplateStream.disable_buffering
    functionSourceFile: jinja2.environment
    functionUses: 2
    functionsReached:
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd182b0>
    - <ast.Constant object at 0x7eff4cd18280>
    argNames:
    - self
    - fp
    - encoding
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1591
    functionName: jinja2.environment.TemplateStream.dump
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - fp.write
    - jinja2.environment.TemplateStream.__iter__
    - <builtin>.isinstance
    - fp.close
    - <builtin>.hasattr
    - x.encode
    - fp.writelines
    - functools.partial
    - jinja2.environment.TemplateStream.__next__
    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: x.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fp.writelines
    functionSourceFile: <builtin>
    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: 1660
    functionName: jinja2.environment.TemplateStream.__iter__
    functionSourceFile: ''
    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: 1
    functionLinenumber: 1663
    functionName: jinja2.environment.TemplateStream.__next__
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - functools.partial
    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: fp.write
    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: fp.close
    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: functools.partial
    functionSourceFile: functools
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1633
    functionName: jinja2.environment.TemplateStream._buffered_generator
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - <builtin>.next
    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>.next
    functionSourceFile: <builtin>
    functionUses: 86
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd23280>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1652
    functionName: jinja2.environment.TemplateStream.enable_buffering
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - functools.partial
    - jinja2.environment.TemplateStream._buffered_generator
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.parser
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    - <builtin>.frozenset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bee15b0>
    - <ast.Name object at 0x7eff4bee1a90>
    argNames:
    - self
    - msg
    - lineno
    - exc
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 74
    functionName: jinja2.parser.Parser.fail
    functionSourceFile: jinja2.parser
    functionUses: 57
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - exc
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - end_token_stack
    - lineno
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 88
    functionName: jinja2.parser.Parser._fail_ut_eof
    functionSourceFile: jinja2.parser
    functionUses: 24
    functionsReached:
    - expected.update
    - jinja2.parser.Parser.fail
    - <builtin>.set
    - <builtin>.map
    - message.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: <builtin>.set
    functionSourceFile: <builtin>
    functionUses: 57
    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: expected.update
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: message.append
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c619910>
    argNames:
    - self
    - name
    - lineno
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 128
    functionName: jinja2.parser.Parser.fail_unknown_tag
    functionSourceFile: jinja2.parser
    functionUses: 22
    functionsReached:
    - jinja2.parser.Parser._fail_ut_eof
    - expected.update
    - jinja2.parser.Parser.fail
    - <builtin>.set
    - <builtin>.map
    - message.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c3c3130>
    - <ast.Constant object at 0x7eff4c3c3040>
    argNames:
    - self
    - end_tokens
    - lineno
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 137
    functionName: jinja2.parser.Parser.fail_eof
    functionSourceFile: jinja2.parser
    functionUses: 22
    functionsReached:
    - jinja2.parser.Parser._fail_ut_eof
    - expected.update
    - stack.append
    - jinja2.parser.Parser.fail
    - <builtin>.set
    - <builtin>.list
    - <builtin>.map
    - message.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: stack.append
    functionSourceFile: <builtin>
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4d976df0>
    argNames:
    - self
    - extra_end_rules
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 148
    functionName: jinja2.parser.Parser.is_tuple_end
    functionSourceFile: jinja2.parser
    functionUses: 53
    functionsReached:
    - expr.split
    - <builtin>.any
    - jinja2.lexer.Token.test
    - jinja2.lexer.Token.test_any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - iterable
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 290
    functionName: jinja2.lexer.Token.test_any
    functionSourceFile: jinja2.lexer
    functionUses: 55
    functionsReached:
    - expr.split
    - <builtin>.any
    - jinja2.lexer.Token.test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c34a6a0>
    argNames:
    - self
    - lineno
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 158
    functionName: jinja2.parser.Parser.free_identifier
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    - <builtin>.zip
    - jinja2.nodes.Node.__init__
    - <builtin>.len
    - object.__new__
    - attributes.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 6
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 165
    functionName: jinja2.parser.Parser.parse_statement
    functionSourceFile: jinja2.parser
    functionUses: 21
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - collections.deque.extend
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - jinja2.parser.Parser.parse_call_block
    - attributes.pop
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - kwargs.append
    - jinja2.parser.Parser._fail_ut_eof
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - item.can_assign
    - jinja2.parser.Parser.parse_statements
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - jinja2.lexer.describe_token
    - <builtin>.type
    - ops.append
    - <builtin>.map
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.lexer.describe_token_expr
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.fail_eof
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 114
    functionsReached: []
    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: 19
    functionLinenumber: 420
    functionName: jinja2.parser.Parser.parse_call_block
    functionSourceFile: jinja2.parser
    functionUses: 21
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - collections.deque.extend
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser._fail_ut_eof
    - kwargs.append
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - item.can_assign
    - jinja2.parser.Parser.parse_statements
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - jinja2.lexer.describe_token
    - <builtin>.type
    - ops.append
    - <builtin>.map
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.fail_eof
    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: 18
    functionLinenumber: 435
    functionName: jinja2.parser.Parser.parse_filter_block
    functionSourceFile: jinja2.parser
    functionUses: 21
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - collections.deque.extend
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser._fail_ut_eof
    - kwargs.append
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - item.can_assign
    - jinja2.parser.Parser.parse_statements
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - ops.append
    - <builtin>.map
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.fail_eof
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ce8ce80>
    argNames:
    - self
    - end_tokens
    - drop_needle
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 194
    functionName: jinja2.parser.Parser.parse_statements
    functionSourceFile: jinja2.parser
    functionUses: 21
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - collections.deque.extend
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser._fail_ut_eof
    - kwargs.append
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - item.can_assign
    - jinja2.parser.Parser.parse_statements
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - ops.append
    - <builtin>.map
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.lexer.describe_token_expr
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.fail_eof
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - expr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 374
    functionName: jinja2.lexer.TokenStream.skip_if
    functionSourceFile: jinja2.lexer
    functionUses: 53
    functionsReached:
    - jinja2.lexer.TokenStream.next_if
    - expr.split
    - <builtin>.next
    - jinja2.lexer.Token.test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - expr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 401
    functionName: jinja2.lexer.TokenStream.expect
    functionSourceFile: jinja2.lexer
    functionUses: 53
    functionsReached:
    - <builtin>.next
    - jinja2.lexer.Token.test
    - expr.split
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer._describe_token_type
    linkageType: pythonLinkage
    raised:
    - TemplateSyntaxError
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 13
    IfCount: 8
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c923c10>
    argNames:
    - self
    - end_tokens
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 988
    functionName: jinja2.parser.Parser.subparse
    functionSourceFile: jinja2.parser
    functionUses: 21
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - collections.deque.extend
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - jinja2.parser.Parser.parse_call_block
    - attributes.pop
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser._fail_ut_eof
    - kwargs.append
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - item.can_assign
    - jinja2.parser.Parser.parse_statements
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - ops.append
    - <builtin>.map
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.fail_eof
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised:
    - AssertionError
    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: 18
    functionLinenumber: 223
    functionName: jinja2.parser.Parser.parse_set
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - collections.deque.extend
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - kwargs.append
    - jinja2.parser.Parser._fail_ut_eof
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - item.can_assign
    - jinja2.parser.Parser.parse_statements
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - ops.append
    - <builtin>.map
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.lexer.describe_token_expr
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.fail_eof
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cba1a00>
    - <ast.Constant object at 0x7eff4cba19d0>
    - <ast.Constant object at 0x7eff4cba19a0>
    - <ast.Constant object at 0x7eff4cba1970>
    argNames:
    - self
    - with_tuple
    - name_only
    - extra_end_rules
    - with_namespace
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 473
    functionName: jinja2.parser.Parser.parse_assign_target
    functionSourceFile: jinja2.parser
    functionUses: 25
    functionsReached:
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - item.can_assign
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - expr.split
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - collections.deque.extend
    - jinja2.lexer.describe_token
    - <builtin>.type
    - <builtin>.zip
    - <builtin>.range
    - jinja2.parser.Parser.parse_subscribed
    - ops.append
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - buf.append
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_dict
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - items.append
    - jinja2.lexer.TokenStream.skip
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - collections.deque
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 4
    IfCount: 8
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c975a00>
    - <ast.Constant object at 0x7eff4c975a30>
    - <ast.Constant object at 0x7eff4c975a60>
    - <ast.Constant object at 0x7eff4c975a90>
    argNames:
    - self
    - simplified
    - with_condexpr
    - extra_end_rules
    - explicit_parentheses
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 680
    functionName: jinja2.parser.Parser.parse_tuple
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.range
    - ops.append
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - buf.append
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_dict
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c915460>
    argNames:
    - self
    - node
    - start_inline
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 927
    functionName: jinja2.parser.Parser.parse_filter
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - jinja2.lexer.describe_token
    - <builtin>.range
    - ops.append
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - buf.append
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_call_args
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    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: 18
    functionLinenumber: 234
    functionName: jinja2.parser.Parser.parse_for
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - collections.deque.extend
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser._fail_ut_eof
    - kwargs.append
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - item.can_assign
    - jinja2.parser.Parser.parse_statements
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - ops.append
    - <builtin>.map
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.lexer.describe_token_expr
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.fail_eof
    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: 17
    functionLinenumber: 253
    functionName: jinja2.parser.Parser.parse_if
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - collections.deque.extend
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - token.test
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser._fail_ut_eof
    - kwargs.append
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - item.can_assign
    - jinja2.parser.Parser.parse_statements
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - result.elif_.append
    - <builtin>.zip
    - <builtin>.type
    - ops.append
    - <builtin>.map
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.lexer.describe_token_expr
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.fail_eof
    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: token.test
    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: result.elif_.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 271
    functionName: jinja2.parser.Parser.parse_with
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - collections.deque.extend
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - targets.append
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser._fail_ut_eof
    - kwargs.append
    - values.append
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - item.can_assign
    - jinja2.parser.Parser.parse_statements
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - ops.append
    - <builtin>.map
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.lexer.describe_token_expr
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.fail_eof
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 204
    functionName: jinja2.nodes.Node.set_ctx
    functionSourceFile: jinja2.nodes
    functionUses: 26
    functionsReached:
    - node.iter_child_nodes
    - collections.deque.popleft
    - collections.deque.extend
    - collections.deque
    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: targets.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: -1
    functionName: values.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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 288
    functionName: jinja2.parser.Parser.parse_autoescape
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - collections.deque.extend
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser._fail_ut_eof
    - kwargs.append
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - item.can_assign
    - jinja2.parser.Parser.parse_statements
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - jinja2.lexer.describe_token
    - <builtin>.type
    - ops.append
    - <builtin>.map
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.fail_eof
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 19
    functionLinenumber: 294
    functionName: jinja2.parser.Parser.parse_block
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - collections.deque.extend
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - output_node.data.isspace
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser._fail_ut_eof
    - kwargs.append
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - item.can_assign
    - jinja2.parser.Parser.parse_statements
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - jinja2.lexer.describe_token
    - <builtin>.type
    - ops.append
    - <builtin>.map
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.fail_eof
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.lexer.describe_token_expr
    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: output_node.data.isspace
    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>.any
    functionSourceFile: <builtin>
    functionUses: 66
    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: 16
    functionLinenumber: 326
    functionName: jinja2.parser.Parser.parse_extends
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - <builtin>.range
    - jinja2.lexer.describe_token
    - ops.append
    - jinja2.parser.Parser.parse_test
    - jinja2.parser.Parser.parse_condexpr
    - attributes.pop
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - buf.append
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 331
    functionName: jinja2.parser.Parser.parse_import_context
    functionSourceFile: jinja2.parser
    functionUses: 2
    functionsReached:
    - <builtin>.range
    - jinja2.lexer.Token.test_any
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.look
    - expr.split
    - <builtin>.any
    - jinja2.lexer.TokenStream.push
    - jinja2.lexer.TokenStream.skip
    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: 352
    functionName: jinja2.lexer.TokenStream.look
    functionSourceFile: jinja2.lexer
    functionUses: 55
    functionsReached:
    - <builtin>.next
    - jinja2.lexer.TokenStream.push
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - expr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 275
    functionName: jinja2.lexer.Token.test
    functionSourceFile: jinja2.lexer
    functionUses: 60
    functionsReached:
    - expr.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ca19bb0>
    argNames:
    - self
    - n
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 360
    functionName: jinja2.lexer.TokenStream.skip
    functionSourceFile: jinja2.lexer
    functionUses: 55
    functionsReached:
    - <builtin>.next
    - <builtin>.range
    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: 16
    functionLinenumber: 343
    functionName: jinja2.parser.Parser.parse_include
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - <builtin>.range
    - jinja2.lexer.describe_token
    - jinja2.parser.Parser.parse_import_context
    - ops.append
    - jinja2.parser.Parser.parse_test
    - jinja2.parser.Parser.parse_condexpr
    - attributes.pop
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - buf.append
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    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: 16
    functionLinenumber: 355
    functionName: jinja2.parser.Parser.parse_import
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - item.can_assign
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - expr.split
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - args.append
    - jinja2.parser.Parser.parse_filter
    - collections.deque.extend
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - jinja2.parser.Parser.parse_import_context
    - <builtin>.range
    - jinja2.parser.Parser.parse_subscribed
    - ops.append
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - buf.append
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_dict
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_expression
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - collections.deque
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 6
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 362
    functionName: jinja2.parser.Parser.parse_from
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - node.names.append
    - jinja2.nodes.Node.__init__
    - <builtin>.hasattr
    - jinja2.parser.Parser.parse_from.parse_context
    - jinja2.lexer.Token.test_any
    - target.name.startswith
    - item.can_assign
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - expr.split
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - args.append
    - jinja2.parser.Parser.parse_filter
    - collections.deque.extend
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - <builtin>.range
    - jinja2.parser.Parser.parse_subscribed
    - ops.append
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - buf.append
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - items.append
    - jinja2.lexer.TokenStream.skip
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - collections.deque
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 368
    functionName: jinja2.parser.Parser.parse_from.parse_context
    functionSourceFile: jinja2.parser
    functionUses: 1
    functionsReached:
    - <builtin>.range
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.lexer.TokenStream.push
    - jinja2.lexer.TokenStream.skip
    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: target.name.startswith
    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: node.names.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 404
    functionName: jinja2.parser.Parser.parse_signature
    functionSourceFile: jinja2.parser
    functionUses: 22
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - item.can_assign
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - expr.split
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - args.append
    - jinja2.parser.Parser.parse_filter
    - collections.deque.extend
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - <builtin>.range
    - jinja2.parser.Parser.parse_subscribed
    - ops.append
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - buf.append
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - collections.deque
    - jinja2.lexer.describe_token_expr
    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: defaults.append
    functionSourceFile: <builtin>
    functionUses: 23
    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: args.append
    functionSourceFile: <builtin>
    functionUses: 56
    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: 18
    functionLinenumber: 441
    functionName: jinja2.parser.Parser.parse_macro
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - args.append
    - collections.deque.extend
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - expected.update
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser._fail_ut_eof
    - kwargs.append
    - <builtin>.range
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.subparse.flush_data
    - item.can_assign
    - jinja2.parser.Parser.parse_statements
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - ops.append
    - <builtin>.map
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_call
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.lexer.describe_token_expr
    - jinja2.parser.Parser.parse_subscript
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.fail_eof
    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: 16
    functionLinenumber: 448
    functionName: jinja2.parser.Parser.parse_print
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - <builtin>.range
    - jinja2.lexer.describe_token
    - ops.append
    - jinja2.parser.Parser.parse_test
    - jinja2.parser.Parser.parse_condexpr
    - attributes.pop
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - buf.append
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - node.nodes.append
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    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: node.nodes.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: 1
    functionLinenumber: -1
    functionName: jinja2.parser.Parser
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - typing.overload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 8
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 646
    functionName: jinja2.parser.Parser.parse_primary
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.range
    - ops.append
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - buf.append
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_dict
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    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: 550
    functionName: jinja2.nodes.Name.can_assign
    functionSourceFile: ''
    functionUses: 26
    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: 561
    functionName: jinja2.nodes.NSRef.can_assign
    functionSourceFile: ''
    functionUses: 26
    functionsReached: []
    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: 635
    functionName: jinja2.nodes.Tuple.can_assign
    functionSourceFile: jinja2.nodes
    functionUses: 26
    functionsReached:
    - item.can_assign
    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: 483
    functionName: jinja2.nodes.Expr.can_assign
    functionSourceFile: ''
    functionUses: 26
    functionsReached: []
    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: 14
    functionLinenumber: 524
    functionName: jinja2.parser.Parser.parse_condexpr
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - <builtin>.range
    - jinja2.lexer.describe_token
    - ops.append
    - jinja2.parser.Parser.parse_test
    - jinja2.parser.Parser.parse_condexpr
    - attributes.pop
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - buf.append
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    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: 15
    functionLinenumber: 539
    functionName: jinja2.parser.Parser.parse_or
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.range
    - <builtin>.zip
    - ops.append
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_not
    - jinja2.parser.Parser.parse_and
    - buf.append
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    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: 15
    functionLinenumber: 548
    functionName: jinja2.parser.Parser.parse_and
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.range
    - <builtin>.zip
    - ops.append
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_not
    - buf.append
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    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: 15
    functionLinenumber: 557
    functionName: jinja2.parser.Parser.parse_not
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - <builtin>.range
    - jinja2.lexer.describe_token
    - ops.append
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_not
    - buf.append
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 563
    functionName: jinja2.parser.Parser.parse_compare
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.range
    - <builtin>.zip
    - ops.append
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - buf.append
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    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: 15
    functionLinenumber: 586
    functionName: jinja2.parser.Parser.parse_math1
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.range
    - ops.append
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - buf.append
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_dict
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    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: ops.append
    functionSourceFile: <builtin>
    functionUses: 53
    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: 14
    functionLinenumber: 597
    functionName: jinja2.parser.Parser.parse_concat
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.range
    - ops.append
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - buf.append
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_dict
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    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: 13
    functionLinenumber: 607
    functionName: jinja2.parser.Parser.parse_math2
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - jinja2.lexer.describe_token
    - <builtin>.range
    - ops.append
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - buf.append
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_dict
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    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: 13
    functionLinenumber: 618
    functionName: jinja2.parser.Parser.parse_pow
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - jinja2.lexer.describe_token
    - <builtin>.range
    - ops.append
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - buf.append
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_dict
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c960280>
    argNames:
    - self
    - with_filter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 628
    functionName: jinja2.parser.Parser.parse_unary
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - jinja2.lexer.describe_token
    - <builtin>.range
    - ops.append
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - buf.append
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_dict
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 773
    functionName: jinja2.parser.Parser.parse_postfix
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - <builtin>.range
    - jinja2.lexer.describe_token
    - ops.append
    - jinja2.parser.Parser.parse_test
    - jinja2.parser.Parser.parse_condexpr
    - attributes.pop
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - jinja2.parser.Parser.parse_subscript
    - buf.append
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 786
    functionName: jinja2.parser.Parser.parse_filter_expr
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - jinja2.lexer.describe_token
    - <builtin>.range
    - ops.append
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - buf.append
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_dict
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    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: buf.append
    functionSourceFile: <builtin>
    functionUses: 58
    functionsReached: []
    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: 16
    functionLinenumber: 746
    functionName: jinja2.parser.Parser.parse_list
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - <builtin>.range
    - jinja2.lexer.describe_token
    - ops.append
    - jinja2.parser.Parser.parse_test
    - jinja2.parser.Parser.parse_condexpr
    - attributes.pop
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - buf.append
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.lexer.TokenStream.skip_if
    - <builtin>.len
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 758
    functionName: jinja2.parser.Parser.parse_dict
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - <builtin>.range
    - jinja2.lexer.describe_token
    - ops.append
    - jinja2.parser.Parser.parse_test
    - jinja2.parser.Parser.parse_condexpr
    - attributes.pop
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - buf.append
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.lexer.TokenStream.skip_if
    - <builtin>.len
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 183
    functionName: jinja2.lexer.describe_token
    functionSourceFile: jinja2.lexer
    functionUses: 54
    functionsReached:
    - jinja2.lexer._describe_token_type
    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: 16
    functionLinenumber: 712
    functionName: jinja2.parser.Parser.parse_tuple.parse
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - <builtin>.range
    - jinja2.lexer.describe_token
    - ops.append
    - jinja2.parser.Parser.parse_test
    - jinja2.parser.Parser.parse_condexpr
    - attributes.pop
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - buf.append
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    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: items.append
    functionSourceFile: <builtin>
    functionUses: 54
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 6
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 801
    functionName: jinja2.parser.Parser.parse_subscript
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - jinja2.lexer.describe_token
    - <builtin>.range
    - ops.append
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - buf.append
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 920
    functionName: jinja2.parser.Parser.parse_call
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - <builtin>.range
    - jinja2.lexer.describe_token
    - ops.append
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - buf.append
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.lexer.TokenStream.next_if
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 950
    functionName: jinja2.parser.Parser.parse_test
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - jinja2.lexer.describe_token
    - <builtin>.range
    - ops.append
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - buf.append
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_dict
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 9
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 832
    functionName: jinja2.parser.Parser.parse_subscribed
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - jinja2.lexer.describe_token
    - <builtin>.range
    - ops.append
    - jinja2.parser.Parser.parse_test
    - jinja2.parser.Parser.parse_condexpr
    - attributes.pop
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - buf.append
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 11
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 864
    functionName: jinja2.parser.Parser.parse_call_args
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.TokenStream.expect
    - jinja2.parser.Parser.parse_tuple
    - jinja2.parser.Parser.parse_or
    - kwargs.append
    - jinja2.nodes.Node.__init__
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.TokenStream.look
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - args.append
    - jinja2.parser.Parser.parse_filter
    - jinja2.parser.Parser.parse_subscribed
    - <builtin>.zip
    - <builtin>.range
    - jinja2.lexer.describe_token
    - ops.append
    - jinja2.parser.Parser.parse_test
    - attributes.pop
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_not
    - buf.append
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.setattr
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_call
    - <builtin>.next
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.lexer.TokenStream.skip
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_pow
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.lexer.describe_token_expr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - expr
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 879
    functionName: jinja2.parser.Parser.parse_call_args.ensure
    functionSourceFile: jinja2.parser
    functionUses: 53
    functionsReached:
    - jinja2.parser.Parser.fail
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.append
    functionSourceFile: <builtin>
    functionUses: 53
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 998
    functionName: jinja2.parser.Parser.subparse.flush_data
    functionSourceFile: jinja2.parser
    functionUses: 22
    functionsReached:
    - <builtin>.setattr
    - <builtin>.zip
    - body.append
    - jinja2.nodes.Node.__init__
    - <builtin>.len
    - attributes.pop
    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.append
    functionSourceFile: <builtin>
    functionUses: 24
    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.extend
    functionSourceFile: <builtin>
    functionUses: 22
    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: jinja2.defaults
    functionSourceFile: jinja2.defaults
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jinja2.filters
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - typing.overload
    - jinja2.async_utils.async_variant.decorator
    - jinja2.utils.pass_context
    - <builtin>.tuple
    - <builtin>.hasattr
    - typing.TypeVar
    - re.compile
    - <builtin>.set
    - jinja2.async_utils.async_variant
    - jinja2.utils._PassArg.from_obj
    - jinja2.utils.pass_eval_context
    - jinja2.utils.pass_environment
    - functools.wraps
    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: 37
    functionName: jinja2.filters.HasHTML.__html__
    functionSourceFile: jinja2.filters
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 46
    functionName: jinja2.filters.ignore_case
    functionSourceFile: jinja2.filters
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - value.lower
    - typing.cast
    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: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ccd4100>
    - <ast.Constant object at 0x7eff4ccd40d0>
    argNames:
    - environment
    - attribute
    - postprocess
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 55
    functionName: jinja2.filters.make_attrgetter
    functionSourceFile: jinja2.filters
    functionUses: 24
    functionsReached:
    - <builtin>.isinstance
    - jinja2.filters._prepare_attribute_parts
    - x.isdigit
    - attr.split
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - attr
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 124
    functionName: jinja2.filters._prepare_attribute_parts
    functionSourceFile: jinja2.filters
    functionUses: 27
    functionsReached:
    - <builtin>.int
    - <builtin>.isinstance
    - x.isdigit
    - attr.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 68
    functionName: jinja2.filters.make_attrgetter.attrgetter
    functionSourceFile: jinja2.filters
    functionUses: 17
    functionsReached:
    - <builtin>.isinstance
    - environment.getitem
    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: environment.getitem
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c9e7a00>
    argNames:
    - environment
    - attribute
    - postprocess
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 83
    functionName: jinja2.filters.make_multi_attrgetter
    functionSourceFile: jinja2.filters
    functionUses: 1
    functionsReached:
    - x.isdigit
    - <builtin>.isinstance
    - jinja2.filters._prepare_attribute_parts
    - attribute.split
    - attr.split
    - <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: attribute.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 105
    functionName: jinja2.filters.make_multi_attrgetter.attrgetter
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.enumerate
    - environment.getitem
    - <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>.enumerate
    functionSourceFile: <builtin>
    functionUses: 22
    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: x.isdigit
    functionSourceFile: <builtin>
    functionUses: 28
    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>.int
    functionSourceFile: <builtin>
    functionUses: 35
    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: attr.split
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 136
    functionName: jinja2.filters.do_forceescape
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - markupsafe.escape
    - typing.cast
    - <builtin>.hasattr
    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: markupsafe.escape
    functionSourceFile: markupsafe
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 144
    functionName: jinja2.filters.do_urlencode
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - jinja2.utils.url_quote
    - <builtin>.isinstance
    - urllib.parse.quote_from_bytes
    - obj.encode
    - value.items
    - urllib.parse.quote_from_bytes.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c2c3a60>
    - <ast.Constant object at 0x7eff4c2c3a30>
    argNames:
    - obj
    - charset
    - for_qs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 397
    functionName: jinja2.utils.url_quote
    functionSourceFile: jinja2.utils
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - <builtin>.isinstance
    - urllib.parse.quote_from_bytes
    - obj.encode
    - urllib.parse.quote_from_bytes.replace
    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.items
    functionSourceFile: <builtin>
    functionUses: 78
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 46
    functionName: jinja2.utils.pass_eval_context
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c4be280>
    argNames:
    - eval_ctx
    - s
    - old
    - new
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 176
    functionName: jinja2.filters.do_replace
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.soft_str
    - <builtin>.str
    - markupsafe.soft_str.replace
    - <builtin>.hasattr
    - markupsafe.escape.replace
    - markupsafe.escape
    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: markupsafe.soft_str
    functionSourceFile: markupsafe
    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: markupsafe.escape.replace
    functionSourceFile: markupsafe
    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: markupsafe.soft_str.replace
    functionSourceFile: markupsafe
    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:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 211
    functionName: jinja2.filters.do_upper
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.soft_str
    - markupsafe.soft_str.upper
    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: markupsafe.soft_str.upper
    functionSourceFile: markupsafe
    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:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 216
    functionName: jinja2.filters.do_lower
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.soft_str
    - markupsafe.soft_str.lower
    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: markupsafe.soft_str.lower
    functionSourceFile: markupsafe
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 221
    functionName: jinja2.filters.do_items
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - value.items
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.compile
    functionSourceFile: re
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ce79130>
    argNames:
    - eval_ctx
    - d
    - autospace
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 255
    functionName: jinja2.filters.do_xmlattr
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - d.items
    - _space_re.search
    - <builtin>.isinstance
    - markupsafe.Markup
    - markupsafe.escape
    - items.append
    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: d.items
    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: _space_re.search
    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:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 306
    functionName: jinja2.filters.do_capitalize
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.soft_str
    - markupsafe.soft_str.capitalize
    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: markupsafe.soft_str.capitalize
    functionSourceFile: markupsafe
    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:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 316
    functionName: jinja2.filters.do_title
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.soft_str
    - _word_beginning_split_re.split
    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: _word_beginning_split_re.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c007280>
    - <ast.Constant object at 0x7eff4c0072e0>
    - <ast.Constant object at 0x7eff4c0071c0>
    argNames:
    - value
    - case_sensitive
    - by
    - reverse
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 329
    functionName: jinja2.filters.do_dictsort
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - value.items
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised:
    - FilterArgumentError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 359
    functionName: jinja2.filters.do_dictsort.sort_func
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - value.lower
    - typing.cast
    - jinja2.filters.ignore_case
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 63
    functionName: jinja2.utils.pass_environment
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bee15b0>
    - <ast.Constant object at 0x7eff4bee1a90>
    - <ast.Constant object at 0x7eff4bee1700>
    argNames:
    - environment
    - value
    - reverse
    - case_sensitive
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 371
    functionName: jinja2.filters.do_sort
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - x.isdigit
    - <builtin>.sorted
    - <builtin>.isinstance
    - jinja2.filters._prepare_attribute_parts
    - jinja2.filters.make_multi_attrgetter
    - attribute.split
    - attr.split
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ce2f550>
    - <ast.Constant object at 0x7eff4ce2fa90>
    argNames:
    - environment
    - value
    - case_sensitive
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 427
    functionName: jinja2.filters.do_unique
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.filters.make_attrgetter
    - environment.getitem
    - <builtin>.isinstance
    - jinja2.filters._prepare_attribute_parts
    - <builtin>.set
    - seen.add
    - x.isdigit
    - attr.split
    - jinja2.filters.make_attrgetter.attrgetter
    - <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: seen.add
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - environment
    - value
    - func
    - case_sensitive
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 459
    functionName: jinja2.filters._min_or_max
    functionSourceFile: jinja2.filters
    functionUses: 2
    functionsReached:
    - jinja2.filters.make_attrgetter
    - environment.undefined
    - <builtin>.isinstance
    - jinja2.filters._prepare_attribute_parts
    - <builtin>.iter
    - <builtin>.next
    - itertools.chain
    - x.isdigit
    - attr.split
    - <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: environment.undefined
    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: itertools.chain
    functionSourceFile: itertools
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c63c3d0>
    - <ast.Constant object at 0x7eff4c3c3100>
    argNames:
    - environment
    - value
    - case_sensitive
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 480
    functionName: jinja2.filters.do_min
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.filters.make_attrgetter
    - environment.undefined
    - <builtin>.isinstance
    - jinja2.filters._prepare_attribute_parts
    - jinja2.filters._min_or_max
    - <builtin>.iter
    - <builtin>.next
    - itertools.chain
    - x.isdigit
    - attr.split
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bea1ac0>
    - <ast.Constant object at 0x7eff4bea1af0>
    argNames:
    - environment
    - value
    - case_sensitive
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 500
    functionName: jinja2.filters.do_max
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.filters.make_attrgetter
    - environment.undefined
    - <builtin>.isinstance
    - jinja2.filters._prepare_attribute_parts
    - jinja2.filters._min_or_max
    - <builtin>.iter
    - <builtin>.next
    - itertools.chain
    - x.isdigit
    - attr.split
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bea1f70>
    - <ast.Constant object at 0x7eff4bea1fa0>
    argNames:
    - value
    - default_value
    - boolean
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 519
    functionName: jinja2.filters.do_default
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ca07820>
    - <ast.Constant object at 0x7eff4ca077f0>
    argNames:
    - eval_ctx
    - value
    - d
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 553
    functionName: jinja2.filters.sync_do_join
    functionSourceFile: jinja2.filters
    functionUses: 1
    functionsReached:
    - markupsafe.soft_str
    - <builtin>.str
    - <builtin>.enumerate
    - jinja2.filters.make_attrgetter
    - markupsafe.soft_str.join
    - jinja2.filters._prepare_attribute_parts
    - <builtin>.isinstance
    - <builtin>.hasattr
    - markupsafe.escape.join
    - <builtin>.list
    - x.isdigit
    - markupsafe.escape
    - <builtin>.map
    - attr.split
    - <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: markupsafe.soft_str.join
    functionSourceFile: markupsafe
    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: markupsafe.escape.join
    functionSourceFile: markupsafe
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - normal_func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 12
    functionName: jinja2.async_utils.async_variant
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - async_func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 13
    functionName: jinja2.async_utils.async_variant.decorator
    functionSourceFile: jinja2.async_utils
    functionUses: 1
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.tuple
    - <builtin>.set
    - jinja2.utils._PassArg.from_obj
    - jinja2.utils.pass_eval_context
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c9eee80>
    - <ast.Constant object at 0x7eff4c9eee50>
    argNames:
    - eval_ctx
    - value
    - d
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 611
    functionName: jinja2.filters.do_join
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.soft_str
    - <builtin>.hasattr
    - <builtin>.str
    - markupsafe.soft_str.join
    - jinja2.filters._prepare_attribute_parts
    - <builtin>.list
    - <builtin>.map
    - attr.split
    - markupsafe.escape
    - <builtin>.int
    - <builtin>.enumerate
    - jinja2.filters.make_attrgetter
    - jinja2.async_utils.auto_to_list
    - jinja2.filters.sync_do_join
    - markupsafe.escape.join
    - x.isdigit
    - jinja2.async_utils.auto_aiter
    - typing.cast
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 81
    functionName: jinja2.async_utils.auto_to_list
    functionSourceFile: jinja2.async_utils
    functionUses: 4
    functionsReached:
    - jinja2.async_utils.auto_aiter
    - typing.cast
    - <builtin>.hasattr
    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 0x7eff4c9eea00>
    argNames:
    - value
    - width
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 620
    functionName: jinja2.filters.do_center
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.soft_str
    - markupsafe.soft_str.center
    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: markupsafe.soft_str.center
    functionSourceFile: markupsafe
    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:
    - environment
    - seq
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 626
    functionName: jinja2.filters.sync_do_first
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - environment.undefined
    - <builtin>.next
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - environment
    - seq
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 637
    functionName: jinja2.filters.do_first
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - environment.undefined
    - jinja2.async_utils.auto_aiter
    - typing.cast
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - iterable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 70
    functionName: jinja2.async_utils.auto_aiter
    functionSourceFile: jinja2.async_utils
    functionUses: 15
    functionsReached:
    - typing.cast
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - environment
    - seq
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 647
    functionName: jinja2.filters.do_last
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - environment.undefined
    - <builtin>.next
    - <builtin>.reversed
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 29
    functionName: jinja2.utils.pass_context
    functionSourceFile: ''
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - context
    - seq
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 669
    functionName: jinja2.filters.do_random
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - context.environment.undefined
    - random.choice
    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: random.choice
    functionSourceFile: random
    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: context.environment.undefined
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c9e5040>
    argNames:
    - value
    - binary
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 677
    functionName: jinja2.filters.do_filesizeformat
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.enumerate
    - <builtin>.float
    - <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>.float
    functionSourceFile: <builtin>
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 710
    functionName: jinja2.filters.do_pprint
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - pprint.pformat
    - jinja2.utils.pformat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 183
    functionName: jinja2.utils.pformat
    functionSourceFile: jinja2.utils
    functionUses: 1
    functionsReached:
    - pprint.pformat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bed0ee0>
    - <ast.Constant object at 0x7eff4bed0eb0>
    - <ast.Constant object at 0x7eff4bed0e80>
    - <ast.Constant object at 0x7eff4bed0e50>
    - <ast.Constant object at 0x7eff4bed0e20>
    argNames:
    - eval_ctx
    - value
    - trim_url_limit
    - nofollow
    - target
    - rel
    - extra_schemes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 719
    functionName: jinja2.filters.do_urlize
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - match.group
    - _http_re.match
    - <builtin>.set
    - <builtin>.str
    - <builtin>.sorted
    - middle.startswith
    - <builtin>.range
    - rel_parts.add
    - re.search
    - _uri_scheme_re.fullmatch
    - tail.count
    - re.match
    - jinja2.utils.urlize.trim_url
    - _email_re.match
    - re.split
    - markupsafe.escape
    - <builtin>.enumerate
    - tail.index
    - middle.endswith
    - <builtin>.len
    - markupsafe.Markup
    - middle.count
    - <builtin>.min
    - match.start
    - match.end
    - rel_parts.update
    - jinja2.utils.urlize
    linkageType: pythonLinkage
    raised:
    - FilterArgumentError
    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: rel_parts.add
    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: rel_parts.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _uri_scheme_re.fullmatch
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 1
    IfCount: 11
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c29ee20>
    - <ast.Constant object at 0x7eff4c29ef70>
    - <ast.Constant object at 0x7eff4c29e8e0>
    - <ast.Constant object at 0x7eff4c29e640>
    argNames:
    - text
    - trim_url_limit
    - rel
    - target
    - extra_schemes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 221
    functionName: jinja2.utils.urlize
    functionSourceFile: jinja2.utils
    functionUses: 1
    functionsReached:
    - match.group
    - _http_re.match
    - <builtin>.str
    - middle.startswith
    - <builtin>.range
    - re.search
    - tail.count
    - re.match
    - jinja2.utils.urlize.trim_url
    - _email_re.match
    - re.split
    - markupsafe.escape
    - <builtin>.enumerate
    - tail.index
    - middle.endswith
    - <builtin>.len
    - middle.count
    - <builtin>.min
    - match.start
    - match.end
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bed4610>
    - <ast.Constant object at 0x7eff4bed45e0>
    - <ast.Constant object at 0x7eff4bed45b0>
    argNames:
    - s
    - width
    - first
    - blank
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 798
    functionName: jinja2.filters.do_indent
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - s.splitlines
    - <builtin>.isinstance
    - lines.pop
    - markupsafe.Markup.join
    - markupsafe.Markup
    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: s.splitlines
    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: markupsafe.Markup.join
    functionSourceFile: markupsafe
    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: lines.pop
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bec10d0>
    - <ast.Constant object at 0x7eff4bec10a0>
    - <ast.Constant object at 0x7eff4bec1070>
    - <ast.Constant object at 0x7eff4bec1040>
    argNames:
    - env
    - s
    - length
    - killwords
    - end
    - leeway
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 847
    functionName: jinja2.filters.do_truncate
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bea3c10>
    - <ast.Constant object at 0x7eff4bea3be0>
    - <ast.Constant object at 0x7eff4bea3bb0>
    - <ast.Constant object at 0x7eff4bea3b80>
    argNames:
    - environment
    - s
    - width
    - break_long_words
    - wrapstring
    - break_on_hyphens
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 895
    functionName: jinja2.filters.do_wordwrap
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - s.splitlines
    - textwrap.wrap
    - wrapstring.join
    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: textwrap.wrap
    functionSourceFile: textwrap
    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: wrapstring.join
    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:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 953
    functionName: jinja2.filters.do_wordcount
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.soft_str
    - _word_re.findall
    - <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: _word_re.findall
    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:
    - <ast.Constant object at 0x7eff4beb5400>
    - <ast.Constant object at 0x7eff4beb5430>
    argNames:
    - value
    - default
    - base
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 958
    functionName: jinja2.filters.do_int
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.float
    - <builtin>.int
    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 0x7eff4beb5d30>
    argNames:
    - value
    - default
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 980
    functionName: jinja2.filters.do_float
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 991
    functionName: jinja2.filters.do_format
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.soft_str
    linkageType: pythonLinkage
    raised:
    - FilterArgumentError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bea6850>
    argNames:
    - value
    - chars
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1019
    functionName: jinja2.filters.do_trim
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.soft_str
    - markupsafe.soft_str.strip
    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: markupsafe.soft_str.strip
    functionSourceFile: markupsafe
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1024
    functionName: jinja2.filters.do_striptags
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - typing.cast
    - markupsafe.Markup.striptags
    - <builtin>.hasattr
    - markupsafe.Markup
    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: markupsafe.Markup.striptags
    functionSourceFile: markupsafe
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4beac250>
    argNames:
    - value
    - slices
    - fill_with
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1032
    functionName: jinja2.filters.sync_do_slice
    functionSourceFile: jinja2.filters
    functionUses: 1
    functionsReached:
    - tmp.append
    - <builtin>.len
    - <builtin>.list
    - <builtin>.range
    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>.range
    functionSourceFile: <builtin>
    functionUses: 62
    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.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4beb6460>
    argNames:
    - value
    - slices
    - fill_with
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1076
    functionName: jinja2.filters.do_slice
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.range
    - jinja2.async_utils.auto_to_list
    - <builtin>.len
    - <builtin>.hasattr
    - <builtin>.list
    - jinja2.filters.sync_do_slice
    - tmp.append
    - jinja2.async_utils.auto_aiter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4beb68e0>
    argNames:
    - value
    - linecount
    - fill_with
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1084
    functionName: jinja2.filters.do_batch
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - tmp.append
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4beb25b0>
    - <ast.Constant object at 0x7eff4beb25e0>
    argNames:
    - value
    - precision
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1121
    functionName: jinja2.filters.do_round
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.round
    - typing.cast
    linkageType: pythonLinkage
    raised:
    - FilterArgumentError
    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>.round
    functionSourceFile: <builtin>
    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: 1
    functionLinenumber: 1167
    functionName: jinja2.filters._GroupTuple.__repr__
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - tuple.__repr__
    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: tuple.__repr__
    functionSourceFile: <builtin>
    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: 1
    functionLinenumber: 1170
    functionName: jinja2.filters._GroupTuple.__str__
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - tuple.__str__
    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: tuple.__str__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bebfa30>
    - <ast.Constant object at 0x7eff4bebfa60>
    argNames:
    - environment
    - value
    - attribute
    - default
    - case_sensitive
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1175
    functionName: jinja2.filters.sync_do_groupby
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - itertools.groupby
    - jinja2.filters.make_attrgetter
    - <builtin>.sorted
    - environment.getitem
    - <builtin>.isinstance
    - jinja2.filters._prepare_attribute_parts
    - typing.NamedTuple.__init__
    - <builtin>.list
    - x.isdigit
    - attr.split
    - jinja2.filters.make_attrgetter.attrgetter
    - <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: typing.NamedTuple.__init__
    functionSourceFile: ''
    functionUses: 24
    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: itertools.groupby
    functionSourceFile: itertools
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bebeca0>
    - <ast.Constant object at 0x7eff4bebecd0>
    argNames:
    - environment
    - value
    - attribute
    - default
    - case_sensitive
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1259
    functionName: jinja2.filters.do_groupby
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - itertools.groupby
    - jinja2.filters.make_attrgetter
    - typing.cast
    - <builtin>.sorted
    - attr.split
    - <builtin>.isinstance
    - jinja2.filters._prepare_attribute_parts
    - environment.getitem
    - jinja2.async_utils.auto_to_list
    - <builtin>.hasattr
    - typing.NamedTuple.__init__
    - x.isdigit
    - jinja2.async_utils.auto_aiter
    - jinja2.filters.make_attrgetter.attrgetter
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4beb0f10>
    - <ast.Constant object at 0x7eff4beb0f40>
    argNames:
    - environment
    - iterable
    - attribute
    - start
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1286
    functionName: jinja2.filters.sync_do_sum
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.filters.make_attrgetter
    - <builtin>.isinstance
    - jinja2.filters._prepare_attribute_parts
    - x.isdigit
    - <builtin>.sum
    - <builtin>.map
    - attr.split
    - <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>.sum
    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 0x7eff4bec6790>
    - <ast.Constant object at 0x7eff4bec67c0>
    argNames:
    - environment
    - iterable
    - attribute
    - start
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1313
    functionName: jinja2.filters.do_sum
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - typing.cast
    - jinja2.filters.make_attrgetter
    - environment.getitem
    - attr.split
    - <builtin>.isinstance
    - jinja2.filters._prepare_attribute_parts
    - <builtin>.hasattr
    - x.isdigit
    - jinja2.async_utils.auto_aiter
    - jinja2.filters.make_attrgetter.attrgetter
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1325
    functionName: jinja2.filters.do_sum.func
    functionSourceFile: jinja2.filters
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1334
    functionName: jinja2.filters.sync_do_list
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1342
    functionName: jinja2.filters.do_list
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.async_utils.auto_aiter
    - jinja2.async_utils.auto_to_list
    - typing.cast
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1346
    functionName: jinja2.filters.do_mark_safe
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.Markup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1353
    functionName: jinja2.filters.do_mark_unsafe
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1368
    functionName: jinja2.filters.do_reverse
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.isinstance
    - <builtin>.reversed
    - rv.reverse
    linkageType: pythonLinkage
    raised:
    - FilterArgumentError
    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: rv.reverse
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - environment
    - obj
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1387
    functionName: jinja2.filters.do_attr
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.getattr
    - typing.cast
    - environment.undefined
    - environment.is_safe_attribute
    - environment.unsafe_undefined
    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: environment.is_safe_attribute
    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: environment.unsafe_undefined
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1440
    functionName: jinja2.filters.sync_do_map
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.filters.make_attrgetter
    - environment.getitem
    - attr.split
    - <builtin>.isinstance
    - jinja2.filters._prepare_attribute_parts
    - jinja2.filters.prepare_map
    - x.isdigit
    - kwargs.pop
    - jinja2.filters.make_attrgetter.attrgetter
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - context
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1709
    functionName: jinja2.filters.prepare_map
    functionSourceFile: jinja2.filters
    functionUses: 2
    functionsReached:
    - jinja2.filters.make_attrgetter
    - attr.split
    - <builtin>.isinstance
    - jinja2.filters._prepare_attribute_parts
    - x.isdigit
    - kwargs.pop
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - FilterArgumentError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1512
    functionName: jinja2.filters.do_map
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.async_utils.auto_await
    - typing.cast
    - jinja2.filters.make_attrgetter
    - environment.getitem
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.filters._prepare_attribute_parts
    - jinja2.async_utils.auto_aiter
    - attr.split
    - jinja2.filters.prepare_map
    - <builtin>.hasattr
    - inspect.isawaitable
    - x.isdigit
    - kwargs.pop
    - jinja2.filters.make_attrgetter.attrgetter
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 59
    functionName: jinja2.async_utils.auto_await
    functionSourceFile: jinja2.async_utils
    functionUses: 1
    functionsReached:
    - inspect.isawaitable
    - typing.cast
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1526
    functionName: jinja2.filters.sync_do_select
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - environment.getitem
    - jinja2.filters.do_selectattr.<lambda1>
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.filters.select_or_reject
    - jinja2.filters._prepare_attribute_parts
    - context.environment.call_test
    - jinja2.filters.sync_do_reject.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - attr.split
    - <builtin>.int
    - jinja2.filters.make_attrgetter
    - jinja2.filters.do_rejectattr.<lambda1>
    - x.isdigit
    - jinja2.filters.make_attrgetter.attrgetter
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.filters.sync_do_select.<lambda1>
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.prepare_select_or_reject.func
    - jinja2.filters.do_select.<lambda1>
    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: jinja2.filters.sync_do_select.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 6
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    - modfunc
    - lookup_attr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1771
    functionName: jinja2.filters.select_or_reject
    functionSourceFile: jinja2.filters
    functionUses: 4
    functionsReached:
    - environment.getitem
    - jinja2.filters.do_selectattr.<lambda1>
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.filters._prepare_attribute_parts
    - context.environment.call_test
    - jinja2.filters.sync_do_reject.<lambda1>
    - attr.split
    - jinja2.filters.prepare_select_or_reject
    - <builtin>.int
    - jinja2.filters.make_attrgetter
    - jinja2.filters.do_rejectattr.<lambda1>
    - x.isdigit
    - jinja2.filters.make_attrgetter.attrgetter
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.filters.sync_do_select.<lambda1>
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.prepare_select_or_reject.func
    - jinja2.filters.do_select.<lambda1>
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1557
    functionName: jinja2.filters.do_select
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - environment.getitem
    - jinja2.filters.do_selectattr.<lambda1>
    - <builtin>.hasattr
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.filters._prepare_attribute_parts
    - context.environment.call_test
    - jinja2.filters.sync_do_reject.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - attr.split
    - <builtin>.int
    - jinja2.filters.make_attrgetter
    - jinja2.filters.do_rejectattr.<lambda1>
    - x.isdigit
    - jinja2.async_utils.auto_aiter
    - jinja2.filters.make_attrgetter.attrgetter
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.filters.sync_do_select.<lambda1>
    - typing.cast
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.async_select_or_reject
    - jinja2.filters.prepare_select_or_reject.func
    - jinja2.filters.do_select.<lambda1>
    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: jinja2.filters.do_select.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 6
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    - modfunc
    - lookup_attr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1787
    functionName: jinja2.filters.async_select_or_reject
    functionSourceFile: jinja2.filters
    functionUses: 4
    functionsReached:
    - environment.getitem
    - jinja2.filters.do_selectattr.<lambda1>
    - <builtin>.hasattr
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.filters._prepare_attribute_parts
    - context.environment.call_test
    - jinja2.filters.sync_do_reject.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - attr.split
    - <builtin>.int
    - jinja2.filters.make_attrgetter
    - jinja2.filters.do_rejectattr.<lambda1>
    - x.isdigit
    - jinja2.async_utils.auto_aiter
    - jinja2.filters.make_attrgetter.attrgetter
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.filters.sync_do_select.<lambda1>
    - typing.cast
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.prepare_select_or_reject.func
    - jinja2.filters.do_select.<lambda1>
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1567
    functionName: jinja2.filters.sync_do_reject
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - environment.getitem
    - jinja2.filters.do_selectattr.<lambda1>
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.filters.select_or_reject
    - jinja2.filters._prepare_attribute_parts
    - context.environment.call_test
    - jinja2.filters.sync_do_reject.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - attr.split
    - <builtin>.int
    - jinja2.filters.make_attrgetter
    - jinja2.filters.do_rejectattr.<lambda1>
    - x.isdigit
    - jinja2.filters.make_attrgetter.attrgetter
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.filters.sync_do_select.<lambda1>
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.prepare_select_or_reject.func
    - jinja2.filters.do_select.<lambda1>
    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: jinja2.filters.sync_do_reject.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1593
    functionName: jinja2.filters.do_reject
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - environment.getitem
    - jinja2.filters.do_selectattr.<lambda1>
    - <builtin>.hasattr
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.filters._prepare_attribute_parts
    - context.environment.call_test
    - jinja2.filters.sync_do_reject.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - attr.split
    - <builtin>.int
    - jinja2.filters.make_attrgetter
    - jinja2.filters.do_rejectattr.<lambda1>
    - x.isdigit
    - jinja2.async_utils.auto_aiter
    - jinja2.filters.make_attrgetter.attrgetter
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.filters.sync_do_select.<lambda1>
    - typing.cast
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.async_select_or_reject
    - jinja2.filters.prepare_select_or_reject.func
    - jinja2.filters.do_select.<lambda1>
    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: jinja2.filters.do_reject.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1603
    functionName: jinja2.filters.sync_do_selectattr
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - environment.getitem
    - jinja2.filters.do_selectattr.<lambda1>
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.filters.select_or_reject
    - jinja2.filters._prepare_attribute_parts
    - context.environment.call_test
    - jinja2.filters.sync_do_reject.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - attr.split
    - <builtin>.int
    - jinja2.filters.make_attrgetter
    - jinja2.filters.do_rejectattr.<lambda1>
    - x.isdigit
    - jinja2.filters.make_attrgetter.attrgetter
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.filters.sync_do_select.<lambda1>
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.prepare_select_or_reject.func
    - jinja2.filters.do_select.<lambda1>
    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: jinja2.filters.sync_do_selectattr.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1633
    functionName: jinja2.filters.do_selectattr
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - environment.getitem
    - jinja2.filters.do_selectattr.<lambda1>
    - <builtin>.hasattr
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.filters._prepare_attribute_parts
    - context.environment.call_test
    - jinja2.filters.sync_do_reject.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - attr.split
    - <builtin>.int
    - jinja2.filters.make_attrgetter
    - jinja2.filters.do_rejectattr.<lambda1>
    - x.isdigit
    - jinja2.async_utils.auto_aiter
    - jinja2.filters.make_attrgetter.attrgetter
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.filters.sync_do_select.<lambda1>
    - typing.cast
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.async_select_or_reject
    - jinja2.filters.prepare_select_or_reject.func
    - jinja2.filters.do_select.<lambda1>
    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: jinja2.filters.do_selectattr.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1643
    functionName: jinja2.filters.sync_do_rejectattr
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - environment.getitem
    - jinja2.filters.do_selectattr.<lambda1>
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.filters.select_or_reject
    - jinja2.filters._prepare_attribute_parts
    - context.environment.call_test
    - jinja2.filters.sync_do_reject.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - attr.split
    - <builtin>.int
    - jinja2.filters.make_attrgetter
    - jinja2.filters.do_rejectattr.<lambda1>
    - x.isdigit
    - jinja2.filters.make_attrgetter.attrgetter
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.filters.sync_do_select.<lambda1>
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.prepare_select_or_reject.func
    - jinja2.filters.do_select.<lambda1>
    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: jinja2.filters.sync_do_rejectattr.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1671
    functionName: jinja2.filters.do_rejectattr
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - environment.getitem
    - jinja2.filters.do_selectattr.<lambda1>
    - <builtin>.hasattr
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.filters._prepare_attribute_parts
    - context.environment.call_test
    - jinja2.filters.sync_do_reject.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - attr.split
    - <builtin>.int
    - jinja2.filters.make_attrgetter
    - jinja2.filters.do_rejectattr.<lambda1>
    - x.isdigit
    - jinja2.async_utils.auto_aiter
    - jinja2.filters.make_attrgetter.attrgetter
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.filters.sync_do_select.<lambda1>
    - typing.cast
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.async_select_or_reject
    - jinja2.filters.prepare_select_or_reject.func
    - jinja2.filters.do_select.<lambda1>
    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: jinja2.filters.do_rejectattr.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cca1910>
    argNames:
    - eval_ctx
    - value
    - indent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1681
    functionName: jinja2.filters.do_tojson
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - kwargs.copy
    - markupsafe.Markup
    - json.dumps
    - jinja2.utils.htmlsafe_json_dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.copy
    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:
    - <ast.Constant object at 0x7eff4c2c4ca0>
    argNames:
    - obj
    - dumps
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 628
    functionName: jinja2.utils.htmlsafe_json_dumps
    functionSourceFile: jinja2.utils
    functionUses: 1
    functionsReached:
    - markupsafe.Markup
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.pop
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1729
    functionName: jinja2.filters.prepare_map.func
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - context.environment.call_filter
    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: context.environment.call_filter
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - context
    - args
    - kwargs
    - modfunc
    - lookup_attr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1737
    functionName: jinja2.filters.prepare_select_or_reject
    functionSourceFile: jinja2.filters
    functionUses: 10
    functionsReached:
    - jinja2.filters.make_attrgetter
    - <builtin>.isinstance
    - jinja2.filters._prepare_attribute_parts
    - x.isdigit
    - attr.split
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - FilterArgumentError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1755
    functionName: jinja2.filters.prepare_select_or_reject.transfunc
    functionSourceFile: jinja2.filters
    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:
    - item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1762
    functionName: jinja2.filters.prepare_select_or_reject.func
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached:
    - context.environment.call_test
    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: context.environment.call_test
    functionSourceFile: <builtin>
    functionUses: 12
    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: 2
    functionLinenumber: -1
    functionName: jinja2.filters.prepare_select_or_reject.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 10
    functionsReached:
    - jinja2.filters.sync_do_select.<lambda1>
    - environment.getitem
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.do_selectattr.<lambda1>
    - jinja2.filters.do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject.func
    - context.environment.call_test
    - jinja2.filters.sync_do_reject.<lambda1>
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    - jinja2.filters.do_select.<lambda1>
    - jinja2.filters.make_attrgetter.attrgetter
    - jinja2.filters.sync_do_selectattr.<lambda1>
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.sandbox
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    - <builtin>.frozenset
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - callable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 83
    functionName: jinja2.sandbox.inspect_format_method
    functionSourceFile: jinja2.sandbox
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - args
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 97
    functionName: jinja2.sandbox.safe_range
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached:
    - <builtin>.range
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - OverflowError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 112
    functionName: jinja2.sandbox.unsafe
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 1
    IfCount: 13
    argCount: 2
    argDefaultValues: []
    argNames:
    - obj
    - attr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 125
    functionName: jinja2.sandbox.is_internal_attribute
    functionSourceFile: jinja2.sandbox
    functionUses: 6
    functionsReached:
    - attr.startswith
    - <builtin>.isinstance
    - <builtin>.hasattr
    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: attr.startswith
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - obj
    - attr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 162
    functionName: jinja2.sandbox.modifies_known_mutable
    functionSourceFile: jinja2.sandbox
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    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: jinja2.sandbox.SandboxedEnvironment
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached:
    - <builtin>.frozenset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 252
    functionName: jinja2.sandbox.SandboxedEnvironment.__init__
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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>.super
    functionSourceFile: <builtin>
    functionUses: 89
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - obj
    - attr
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 258
    functionName: jinja2.sandbox.SandboxedEnvironment.is_safe_attribute
    functionSourceFile: jinja2.sandbox
    functionUses: 5
    functionsReached:
    - attr.startswith
    - <builtin>.isinstance
    - <builtin>.hasattr
    - jinja2.sandbox.is_internal_attribute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 267
    functionName: jinja2.sandbox.SandboxedEnvironment.is_safe_callable
    functionSourceFile: jinja2.sandbox
    functionUses: 1
    functionsReached:
    - jinja2.sandbox.SandboxedEnvironment.is_safe_attribute
    - <builtin>.type
    - jinja2.sandbox.is_internal_attribute
    - <builtin>.isinstance
    - <builtin>.hasattr
    - jinja2.sandbox.SandboxedEnvironment.getattr
    - attr.startswith
    - jinja2.sandbox.SandboxedEnvironment.unsafe_undefined
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 321
    functionName: jinja2.sandbox.SandboxedEnvironment.getattr
    functionSourceFile: jinja2.sandbox
    functionUses: 4
    functionsReached:
    - <builtin>.type
    - jinja2.sandbox.SandboxedEnvironment.is_safe_attribute
    - jinja2.sandbox.is_internal_attribute
    - <builtin>.isinstance
    - <builtin>.hasattr
    - jinja2.sandbox.SandboxedEnvironment.getattr
    - attr.startswith
    - jinja2.sandbox.SandboxedEnvironment.unsafe_undefined
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - context
    - operator
    - left
    - right
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 278
    functionName: jinja2.sandbox.SandboxedEnvironment.call_binop
    functionSourceFile: jinja2.sandbox
    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
    - context
    - operator
    - arg
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 289
    functionName: jinja2.sandbox.SandboxedEnvironment.call_unop
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - argument
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 298
    functionName: jinja2.sandbox.SandboxedEnvironment.getitem
    functionSourceFile: jinja2.sandbox
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - jinja2.sandbox.SandboxedEnvironment.is_safe_attribute
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.sandbox.is_internal_attribute
    - <builtin>.hasattr
    - jinja2.sandbox.SandboxedEnvironment.getattr
    - attr.startswith
    - jinja2.sandbox.SandboxedEnvironment.unsafe_undefined
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 338
    functionName: jinja2.sandbox.SandboxedEnvironment.unsafe_undefined
    functionSourceFile: jinja2.sandbox
    functionUses: 5
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ce87280>
    argNames:
    - self
    - s
    - args
    - kwargs
    - format_func
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 348
    functionName: jinja2.sandbox.SandboxedEnvironment.format_string
    functionSourceFile: jinja2.sandbox
    functionUses: 1
    functionsReached:
    - jinja2.sandbox.SandboxedFormatter.__init__
    - <builtin>.super
    - <builtin>.type
    - <builtin>.isinstance
    - string.Formatter.vformat
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - env
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 410
    functionName: jinja2.sandbox.SandboxedFormatter.__init__
    functionSourceFile: jinja2.sandbox
    functionUses: 2
    functionsReached:
    - <builtin>.super
    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: string.Formatter.vformat
    functionSourceFile: string
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 5
    argDefaultValues: []
    argNames:
    - __self
    - __context
    - __obj
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 377
    functionName: jinja2.sandbox.SandboxedEnvironment.call
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached:
    - jinja2.sandbox.SandboxedEnvironment.is_safe_callable
    - __context.call
    - jinja2.sandbox.SandboxedFormatter.__init__
    - <builtin>.super
    - attr.startswith
    - jinja2.sandbox.SandboxedEnvironment.is_safe_attribute
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.sandbox.is_internal_attribute
    - jinja2.sandbox.SandboxedEnvironment.format_string
    - string.Formatter.vformat
    - <builtin>.hasattr
    - jinja2.sandbox.SandboxedEnvironment.getattr
    - <builtin>.len
    - jinja2.sandbox.inspect_format_method
    - jinja2.sandbox.SandboxedEnvironment.unsafe_undefined
    linkageType: pythonLinkage
    raised:
    - SecurityError
    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: __context.call
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - obj
    - attr
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 402
    functionName: jinja2.sandbox.ImmutableSandboxedEnvironment.is_safe_attribute
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.super
    - jinja2.sandbox.modifies_known_mutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - field_name
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 414
    functionName: jinja2.sandbox.SandboxedFormatter.get_field
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - jinja2.sandbox.is_internal_attribute
    - jinja2.sandbox.SandboxedEnvironment.is_safe_attribute
    - <builtin>.isinstance
    - <builtin>.type
    - <builtin>.hasattr
    - jinja2.sandbox.SandboxedEnvironment.getattr
    - attr.startswith
    - jinja2.sandbox.SandboxedEnvironment.getitem
    - jinja2.sandbox.SandboxedEnvironment.unsafe_undefined
    - string.Formatter.get_value
    - _string.formatter_field_name_split
    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: _string.formatter_field_name_split
    functionSourceFile: _string
    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: string.Formatter.get_value
    functionSourceFile: string
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.tests
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - jinja2.utils.pass_environment
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 14
    functionName: jinja2.tests.test_odd
    functionSourceFile: jinja2.tests
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 19
    functionName: jinja2.tests.test_even
    functionSourceFile: jinja2.tests
    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:
    - value
    - num
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: jinja2.tests.test_divisibleby
    functionSourceFile: jinja2.tests
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 29
    functionName: jinja2.tests.test_defined
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 46
    functionName: jinja2.tests.test_undefined
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - env
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 52
    functionName: jinja2.tests.test_filter
    functionSourceFile: jinja2.tests
    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:
    - env
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 70
    functionName: jinja2.tests.test_test
    functionSourceFile: jinja2.tests
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 91
    functionName: jinja2.tests.test_none
    functionSourceFile: jinja2.tests
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 96
    functionName: jinja2.tests.test_boolean
    functionSourceFile: jinja2.tests
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 104
    functionName: jinja2.tests.test_false
    functionSourceFile: jinja2.tests
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 112
    functionName: jinja2.tests.test_true
    functionSourceFile: jinja2.tests
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 121
    functionName: jinja2.tests.test_integer
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 130
    functionName: jinja2.tests.test_float
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 138
    functionName: jinja2.tests.test_lower
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 143
    functionName: jinja2.tests.test_upper
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 148
    functionName: jinja2.tests.test_string
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 153
    functionName: jinja2.tests.test_mapping
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 161
    functionName: jinja2.tests.test_number
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 166
    functionName: jinja2.tests.test_sequence
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - value
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 179
    functionName: jinja2.tests.test_sameas
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 192
    functionName: jinja2.tests.test_iterable
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 202
    functionName: jinja2.tests.test_escaped
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - value
    - seq
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 207
    functionName: jinja2.tests.test_in
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.nodes
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    - <builtin>.staticmethod
    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: jinja2.nodes.<dict3>.<lambda1>
    functionSourceFile: jinja2.nodes
    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: jinja2.nodes.<dict3>.<lambda2>
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - mcs
    - name
    - bases
    - d
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: jinja2.nodes.NodeType.__new__
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - type.__new__
    - d.setdefault
    - <builtin>.tuple
    - storage.extend
    - <builtin>.set
    - <builtin>.len
    - d.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: storage.extend
    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: d.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.setdefault
    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: type.__new__
    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>.callable
    functionSourceFile: <builtin>
    functionUses: 27
    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: 84
    functionName: jinja2.nodes.EvalContext.save
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - old
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 87
    functionName: jinja2.nodes.EvalContext.revert
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - node
    - ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 92
    functionName: jinja2.nodes.get_eval_context
    functionSourceFile: jinja2.nodes
    functionUses: 19
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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>.zip
    functionSourceFile: <builtin>
    functionUses: 136
    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: attributes.pop
    functionSourceFile: <builtin>
    functionUses: 136
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c6385b0>
    - <ast.Constant object at 0x7eff4c6387f0>
    argNames:
    - self
    - exclude
    - only
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 145
    functionName: jinja2.nodes.Node.iter_fields
    functionSourceFile: jinja2.nodes
    functionUses: 4
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4db89be0>
    - <ast.Constant object at 0x7eff4dbd1e80>
    argNames:
    - self
    - exclude
    - only
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 167
    functionName: jinja2.nodes.Node.iter_child_nodes
    functionSourceFile: jinja2.nodes
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.getattr
    - jinja2.nodes.Node.iter_fields
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 184
    functionName: jinja2.nodes.Node.find
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - child.find_all
    - <builtin>.getattr
    - jinja2.nodes.Node.iter_child_nodes
    - <builtin>.isinstance
    - jinja2.nodes.Node.find_all
    - jinja2.nodes.Node.iter_fields
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 193
    functionName: jinja2.nodes.Node.find_all
    functionSourceFile: jinja2.nodes
    functionUses: 1
    functionsReached:
    - child.find_all
    - <builtin>.getattr
    - jinja2.nodes.Node.iter_child_nodes
    - <builtin>.isinstance
    - jinja2.nodes.Node.iter_fields
    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: child.find_all
    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: collections.deque
    functionSourceFile: collections
    functionUses: 40
    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: collections.deque.popleft
    functionSourceFile: collections
    functionUses: 30
    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: node.iter_child_nodes
    functionSourceFile: <builtin>
    functionUses: 101
    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: collections.deque.extend
    functionSourceFile: collections
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cde0c40>
    argNames:
    - self
    - lineno
    - override
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 218
    functionName: jinja2.nodes.Node.set_lineno
    functionSourceFile: jinja2.nodes
    functionUses: 1
    functionsReached:
    - node.iter_child_nodes
    - collections.deque.popleft
    - collections.deque.extend
    - collections.deque
    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: 2
    functionLinenumber: 238
    functionName: jinja2.nodes.Node.__eq__
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.type
    - <builtin>.tuple
    - jinja2.nodes.Node.iter_fields
    - other.iter_fields
    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: other.iter_fields
    functionSourceFile: <builtin>
    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: 1
    functionLinenumber: 246
    functionName: jinja2.nodes.Node.__repr__
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.type
    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: 2
    functionLinenumber: 250
    functionName: jinja2.nodes.Node.dump
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - buf.append
    - <builtin>.getattr
    - <builtin>.enumerate
    - jinja2.nodes.Node.dump._dump
    - <builtin>.type
    - <builtin>.isinstance
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 10
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 251
    functionName: jinja2.nodes.Node.dump._dump
    functionSourceFile: jinja2.nodes
    functionUses: 1
    functionsReached:
    - buf.append
    - <builtin>.getattr
    - <builtin>.enumerate
    - jinja2.nodes.Node.dump._dump
    - <builtin>.type
    - <builtin>.isinstance
    - <builtin>.repr
    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 0x7eff4cd89e50>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 470
    functionName: jinja2.nodes.Expr.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd89520>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 497
    functionName: jinja2.nodes.BinExpr.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd87670>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 521
    functionName: jinja2.nodes.UnaryExpr.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd84cd0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 585
    functionName: jinja2.nodes.Const.as_const
    functionSourceFile: jinja2.nodes
    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.Constant object at 0x7eff4cd84910>
    - <ast.Constant object at 0x7eff4cd848e0>
    argNames:
    - cls
    - value
    - lineno
    - environment
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 589
    functionName: jinja2.nodes.Const.from_untrusted
    functionSourceFile: jinja2.nodes
    functionUses: 72
    functionsReached:
    - <builtin>.all
    - <builtin>.setattr
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.nodes.Node.__init__
    - <builtin>.len
    - attributes.pop
    - jinja2.compiler.has_safe_repr
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 125
    functionName: jinja2.compiler.has_safe_repr
    functionSourceFile: jinja2.compiler
    functionUses: 74
    functionsReached:
    - jinja2.compiler.has_safe_repr
    - <builtin>.all
    - value.items
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd84040>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 612
    functionName: jinja2.nodes.TemplateData.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - markupsafe.Markup
    - <builtin>.callable
    - jinja2.nodes.get_eval_context
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd825b0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 631
    functionName: jinja2.nodes.Tuple.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 1
    functionsReached:
    - x.as_const
    - <builtin>.tuple
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    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: x.as_const
    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: item.can_assign
    functionSourceFile: <builtin>
    functionUses: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd7e850>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 648
    functionName: jinja2.nodes.List.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    - x.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd81f40>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 661
    functionName: jinja2.nodes.Dict.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - x.as_const
    - <builtin>.dict
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd81520>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 675
    functionName: jinja2.nodes.Pair.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd7faf0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 689
    functionName: jinja2.nodes.Keyword.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd7f070>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 704
    functionName: jinja2.nodes.CondExpr.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - x.as_const
    - <builtin>.tuple
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    - jinja2.nodes.Tuple.as_const
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - node
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 716
    functionName: jinja2.nodes.args_as_const
    functionSourceFile: jinja2.nodes
    functionUses: 1
    functionsReached:
    - x.as_const
    - node.dyn_args.as_const
    - <builtin>.dict
    - kwargs.update
    - args.extend
    - node.dyn_kwargs.as_const
    linkageType: pythonLinkage
    raised:
    - Impossible
    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: node.dyn_args.as_const
    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: args.extend
    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: node.dyn_kwargs.as_const
    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: kwargs.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd5fa30>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 748
    functionName: jinja2.nodes._FilterTestCommon.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - x.as_const
    - args.insert
    - node.dyn_args.as_const
    - <builtin>.dict
    - inspect.iscoroutinefunction
    - kwargs.update
    - jinja2.nodes.args_as_const
    - <builtin>.hasattr
    - jinja2.nodes.EvalContext.__init__
    - args.extend
    - jinja2.nodes.get_eval_context
    - node.dyn_kwargs.as_const
    - jinja2.utils._PassArg.from_obj
    - <builtin>.callable
    - env_map.get
    linkageType: pythonLinkage
    raised:
    - Impossible
    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: inspect.iscoroutinefunction
    functionSourceFile: inspect
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd72d60>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 795
    functionName: jinja2.nodes.Filter.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd66af0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 839
    functionName: jinja2.nodes.Getitem.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - jinja2.environment.Environment.getattr
    - <builtin>.isinstance
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    - jinja2.environment.Environment.getitem
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd75dc0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 863
    functionName: jinja2.nodes.Getattr.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    - jinja2.environment.Environment.getattr
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd83f70>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 885
    functionName: jinja2.nodes.Slice.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - <builtin>.slice
    - jinja2.nodes.Slice.as_const.const
    - obj.as_const
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 888
    functionName: jinja2.nodes.Slice.as_const.const
    functionSourceFile: jinja2.nodes
    functionUses: 1
    functionsReached:
    - obj.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj.as_const
    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: <builtin>.slice
    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:
    - <ast.Constant object at 0x7eff4cd831f0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 904
    functionName: jinja2.nodes.Concat.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - x.as_const
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cd707c0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 918
    functionName: jinja2.nodes.Compare.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    - op.expr.as_const
    linkageType: pythonLinkage
    raised:
    - Impossible
    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: op.expr.as_const
    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:
    - <ast.Constant object at 0x7eff4c5c3c40>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 994
    functionName: jinja2.nodes.And.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c5c3520>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1004
    functionName: jinja2.nodes.Or.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    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: 1074
    functionName: jinja2.nodes.InternalName.__init__
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c5bdd00>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1087
    functionName: jinja2.nodes.MarkSafe.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - markupsafe.Markup
    - <builtin>.callable
    - jinja2.nodes.get_eval_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c5bd610>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1102
    functionName: jinja2.nodes.MarkSafeIfAutoescape.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - markupsafe.Markup
    - <builtin>.callable
    - jinja2.nodes.get_eval_context
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1199
    functionName: jinja2.nodes._failing_new
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.staticmethod
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.compiler
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: jinja2.compiler.optimizeconst
    functionSourceFile: jinja2.compiler
    functionUses: 3
    functionsReached:
    - typing.cast
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 44
    functionName: jinja2.compiler.optimizeconst.new_func
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.compiler.CodeGenerator.signature
    - extra_kwargs.items
    - <builtin>.getattr
    - jinja2.compiler.CodeGenerator.visit_Concat
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - <builtin>.hasattr
    - jinja2.compiler.CodeGenerator.visit_Getitem
    - jinja2.compiler.CodeGenerator.visit_CondExpr
    - jinja2.optimizer.Optimizer.generic_visit
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.compiler.CodeGenerator.visit_Test
    - jinja2.visitor.NodeVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.visit_Filter
    - jinja2.compiler.CodeGenerator.visit_CondExpr.write_expr2
    - jinja2.compiler.CodeGenerator._filter_test_common
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.CodeGenerator.fail
    - attributes.pop
    - jinja2.utils._PassArg.from_obj
    - <builtin>.any
    - frame.soft
    - extra_kwargs.update
    - jinja2.nodes.Const.from_untrusted
    - jinja2.compiler._make_binop.visitor
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.dict
    - <builtin>.len
    - jinja2.compiler.CodeGenerator.visit_Compare
    - jinja2.idtracking.RootVisitor.generic_visit
    - node.as_const
    - jinja2.compiler.CodeGenerator.visit_Call
    - typing.cast
    - keyword.iskeyword
    - jinja2.compiler.CodeGenerator.position
    - <builtin>.isinstance
    - itertools.chain
    - jinja2.compiler.CodeGenerator.visit_Getattr
    - jinja2.compiler._make_unop.visitor
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1795
    functionName: jinja2.compiler.CodeGenerator.visit_Filter
    functionSourceFile: jinja2.compiler
    functionUses: 3
    functionsReached:
    - jinja2.compiler.CodeGenerator.signature
    - extra_kwargs.items
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - <builtin>.hasattr
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - jinja2.compiler.CodeGenerator._filter_test_common
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.CodeGenerator.fail
    - attributes.pop
    - jinja2.utils._PassArg.from_obj
    - <builtin>.any
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - typing.cast
    - keyword.iskeyword
    - <builtin>.isinstance
    - itertools.chain
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 9
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 61
    functionName: jinja2.compiler._make_binop.visitor
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1698
    functionName: jinja2.compiler.CodeGenerator.visit_Compare
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1684
    functionName: jinja2.compiler.CodeGenerator.visit_Concat
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 11
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1722
    functionName: jinja2.compiler.CodeGenerator.visit_Getitem
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 7
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1817
    functionName: jinja2.compiler.CodeGenerator.visit_CondExpr
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.visit_CondExpr.write_expr2
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - frame.soft
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.position
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1710
    functionName: jinja2.compiler.CodeGenerator.visit_Getattr
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 85
    functionName: jinja2.compiler._make_unop.visitor
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1812
    functionName: jinja2.compiler.CodeGenerator.visit_Test
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.compiler.CodeGenerator.signature
    - extra_kwargs.items
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - <builtin>.hasattr
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - jinja2.compiler.CodeGenerator._filter_test_common
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.CodeGenerator.fail
    - attributes.pop
    - jinja2.utils._PassArg.from_obj
    - <builtin>.any
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.all
    - <builtin>.setattr
    - io.StringIO.write
    - <builtin>.len
    - jinja2.idtracking.RootVisitor.generic_visit
    - node.as_const
    - typing.cast
    - keyword.iskeyword
    - <builtin>.isinstance
    - itertools.chain
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 8
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bb9cca0>
    argNames:
    - self
    - node
    - frame
    - forward_caller
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1840
    functionName: jinja2.compiler.CodeGenerator.visit_Call
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - jinja2.compiler.CodeGenerator.signature
    - extra_kwargs.items
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - <builtin>.any
    - extra_kwargs.update
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.all
    - <builtin>.setattr
    - io.StringIO.write
    - <builtin>.dict
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - typing.cast
    - keyword.iskeyword
    - <builtin>.isinstance
    - itertools.chain
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.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: functools.update_wrapper
    functionSourceFile: functools
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - op
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 59
    functionName: jinja2.compiler._make_binop
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.compiler.optimizeconst
    - typing.cast
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - op
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 81
    functionName: jinja2.compiler._make_unop
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.compiler.optimizeconst
    - typing.cast
    - functools.update_wrapper
    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: environment.code_generator_class
    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: generator.visit
    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: generator.stream.getvalue
    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: <builtin>.all
    functionSourceFile: <builtin>
    functionUses: 75
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - nodes
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 142
    functionName: jinja2.compiler.find_undeclared
    functionSourceFile: jinja2.compiler
    functionUses: 5
    functionsReached:
    - <builtin>.getattr
    - jinja2.compiler.UndeclaredNameVisitor.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 277
    functionName: jinja2.compiler.UndeclaredNameVisitor.__init__
    functionSourceFile: jinja2.compiler
    functionUses: 6
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 35
    functionName: jinja2.visitor.NodeVisitor.visit
    functionSourceFile: jinja2.visitor
    functionUses: 70
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 158
    functionName: jinja2.compiler.MacroRef.__init__
    functionSourceFile: jinja2.compiler
    functionUses: 3
    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 0x7eff4ce28760>
    - <ast.Constant object at 0x7eff4ce286a0>
    argNames:
    - self
    - eval_ctx
    - parent
    - level
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 168
    functionName: jinja2.compiler.Frame.__init__
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - jinja2.idtracking.Symbols.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4be3a790>
    - <ast.Constant object at 0x7eff4be3a760>
    argNames:
    - self
    - parent
    - level
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 31
    functionName: jinja2.idtracking.Symbols.__init__
    functionSourceFile: jinja2.idtracking
    functionUses: 5
    functionsReached:
    - <builtin>.set
    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: 2
    functionLinenumber: 219
    functionName: jinja2.compiler.Frame.copy
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - object.__new__
    - rv.__dict__.update
    - jinja2.idtracking.Symbols.copy
    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: 1
    functionLinenumber: 86
    functionName: jinja2.idtracking.Symbols.copy
    functionSourceFile: jinja2.idtracking
    functionUses: 4
    functionsReached:
    - object.__new__
    - rv.__dict__.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bffb610>
    argNames:
    - self
    - isolated
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 226
    functionName: jinja2.compiler.Frame.inner
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.idtracking.Symbols.__init__
    - <builtin>.set
    - jinja2.compiler.Frame.__init__
    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: 3
    functionLinenumber: 232
    functionName: jinja2.compiler.Frame.soft
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - object.__new__
    - jinja2.compiler.Frame.copy
    - rv.__dict__.update
    - jinja2.idtracking.Symbols.copy
    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: 255
    functionName: jinja2.compiler.DependencyFinderVisitor.__init__
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 259
    functionName: jinja2.compiler.DependencyFinderVisitor.visit_Filter
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - jinja2.idtracking.RootVisitor.generic_visit
    - node.as_const
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 30
    functionName: jinja2.optimizer.Optimizer.generic_visit
    functionSourceFile: jinja2.optimizer
    functionUses: 71
    functionsReached:
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.all
    - <builtin>.setattr
    - <builtin>.zip
    - <builtin>.type
    - <builtin>.isinstance
    - value.items
    - jinja2.nodes.Node.__init__
    - <builtin>.len
    - attributes.pop
    - jinja2.compiler.has_safe_repr
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 228
    functionName: jinja2.idtracking.RootVisitor.generic_visit
    functionSourceFile: ''
    functionUses: 71
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 44
    functionName: jinja2.visitor.NodeVisitor.generic_visit
    functionSourceFile: jinja2.visitor
    functionUses: 70
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 263
    functionName: jinja2.compiler.DependencyFinderVisitor.visit_Test
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - jinja2.idtracking.RootVisitor.generic_visit
    - node.as_const
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 267
    functionName: jinja2.compiler.DependencyFinderVisitor.visit_Block
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 281
    functionName: jinja2.compiler.UndeclaredNameVisitor.visit_Name
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - VisitorExit
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 289
    functionName: jinja2.compiler.UndeclaredNameVisitor.visit_Block
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c63cfd0>
    - <ast.Constant object at 0x7eff4c63cee0>
    - <ast.Constant object at 0x7eff4c63c550>
    argNames:
    - self
    - environment
    - name
    - filename
    - stream
    - defer_init
    - optimized
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 301
    functionName: jinja2.compiler.CodeGenerator.__init__
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - io.StringIO
    - jinja2.optimizer.Optimizer.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.StringIO
    functionSourceFile: io
    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
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 27
    functionName: jinja2.optimizer.Optimizer.__init__
    functionSourceFile: ''
    functionUses: 2
    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: 375
    functionName: jinja2.compiler.CodeGenerator.optimized
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - lineno
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 380
    functionName: jinja2.compiler.CodeGenerator.fail
    functionSourceFile: jinja2.compiler
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TemplateAssertionError
    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: jinja2.compiler.CodeGenerator.temporary_identifier
    functionSourceFile: jinja2.compiler
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 389
    functionName: jinja2.compiler.CodeGenerator.buffer
    functionSourceFile: jinja2.compiler
    functionUses: 6
    functionsReached:
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - <builtin>.max
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bf89310>
    - <ast.Constant object at 0x7eff4bf892e0>
    argNames:
    - self
    - x
    - node
    - extra
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 467
    functionName: jinja2.compiler.CodeGenerator.writeline
    functionSourceFile: jinja2.compiler
    functionUses: 33
    functionsReached:
    - jinja2.meta.TrackingCodeGenerator.write
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.newline
    - <builtin>.max
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 11
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bf8d520>
    argNames:
    - self
    - frame
    - force_unescaped
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 394
    functionName: jinja2.compiler.CodeGenerator.return_buffer_contents
    functionSourceFile: jinja2.compiler
    functionUses: 4
    functionsReached:
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.outdent
    - <builtin>.max
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.CodeGenerator.indent
    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: 414
    functionName: jinja2.compiler.CodeGenerator.indent
    functionSourceFile: ''
    functionUses: 14
    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 0x7eff4bf8bee0>
    argNames:
    - self
    - step
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 418
    functionName: jinja2.compiler.CodeGenerator.outdent
    functionSourceFile: ''
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bf8bb20>
    argNames:
    - self
    - frame
    - node
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 422
    functionName: jinja2.compiler.CodeGenerator.start_write
    functionSourceFile: jinja2.compiler
    functionUses: 6
    functionsReached:
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - io.StringIO.write
    - <builtin>.max
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 429
    functionName: jinja2.compiler.CodeGenerator.end_write
    functionSourceFile: jinja2.compiler
    functionUses: 6
    functionsReached:
    - io.StringIO.write
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - x
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 21
    functionName: jinja2.meta.TrackingCodeGenerator.write
    functionSourceFile: ''
    functionUses: 70
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - x
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 453
    functionName: jinja2.compiler.CodeGenerator.write
    functionSourceFile: jinja2.compiler
    functionUses: 70
    functionsReached:
    - io.StringIO.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bf8af40>
    argNames:
    - self
    - s
    - frame
    - node
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 434
    functionName: jinja2.compiler.CodeGenerator.simple_write
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.start_write
    - jinja2.compiler.CodeGenerator.newline
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.end_write
    - <builtin>.max
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - nodes
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 442
    functionName: jinja2.compiler.CodeGenerator.blockvisit
    functionSourceFile: jinja2.compiler
    functionUses: 11
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.newline
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - <builtin>.max
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.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: io.StringIO.write
    functionSourceFile: io
    functionUses: 71
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bf88d30>
    - <ast.Constant object at 0x7eff4bf88d00>
    argNames:
    - self
    - node
    - extra
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 474
    functionName: jinja2.compiler.CodeGenerator.newline
    functionSourceFile: jinja2.compiler
    functionUses: 35
    functionsReached:
    - <builtin>.max
    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: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 20
    IfCount: 8
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bf88160>
    argNames:
    - self
    - node
    - frame
    - extra_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 481
    functionName: jinja2.compiler.CodeGenerator.signature
    functionSourceFile: jinja2.compiler
    functionUses: 8
    functionsReached:
    - extra_kwargs.items
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - <builtin>.any
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.all
    - <builtin>.setattr
    - io.StringIO.write
    - <builtin>.len
    - jinja2.idtracking.RootVisitor.generic_visit
    - node.as_const
    - typing.cast
    - keyword.iskeyword
    - <builtin>.isinstance
    - itertools.chain
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.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: keyword.iskeyword
    functionSourceFile: keyword
    functionUses: 9
    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: extra_kwargs.items
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 14
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 538
    functionName: jinja2.compiler.CodeGenerator.pull_dependencies
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - jinja2.compiler.DependencyFinderVisitor.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.sorted
    - <builtin>.type
    - <builtin>.zip
    - jinja2.compiler.CodeGenerator.newline
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.CodeGenerator.outdent
    - attributes.pop
    - <builtin>.max
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.all
    - <builtin>.setattr
    - io.StringIO.write
    - <builtin>.len
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.indent
    - node.as_const
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 581
    functionName: jinja2.compiler.CodeGenerator.enter_frame
    functionSourceFile: jinja2.compiler
    functionUses: 10
    functionsReached:
    - jinja2.meta.TrackingCodeGenerator.write
    - frame.symbols.loads.items
    - jinja2.compiler.CodeGenerator.get_resolve_func
    - jinja2.compiler.CodeGenerator.newline
    - <builtin>.max
    - io.StringIO.write
    - undefs.append
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frame.symbols.loads.items
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    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: 0
    functionLinenumber: 762
    functionName: jinja2.compiler.CodeGenerator.get_resolve_func
    functionSourceFile: ''
    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: undefs.append
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bf82340>
    argNames:
    - self
    - frame
    - with_python_scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 597
    functionName: jinja2.compiler.CodeGenerator.leave_frame
    functionSourceFile: jinja2.compiler
    functionUses: 10
    functionsReached:
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.max
    - jinja2.compiler.CodeGenerator.newline
    - io.StringIO.write
    - undefs.append
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bf80b50>
    - <ast.Constant object at 0x7eff4bf80b20>
    argNames:
    - self
    - async_value
    - sync_value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 605
    functionName: jinja2.compiler.CodeGenerator.choose_async
    functionSourceFile: jinja2.compiler
    functionUses: 11
    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: 1
    functionLinenumber: 608
    functionName: jinja2.compiler.CodeGenerator.func
    functionSourceFile: jinja2.compiler
    functionUses: 5
    functionsReached:
    - jinja2.compiler.CodeGenerator.choose_async
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 27
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 611
    functionName: jinja2.compiler.CodeGenerator.macro_body
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    - frame.symbols.ref
    - jinja2.compiler.UndeclaredNameVisitor.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.leave_frame
    - jinja2.compiler.CodeGenerator.buffer
    - jinja2.nodes.Node.__init__
    - frame.symbols.analyze_node
    - <builtin>.set
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.compiler.MacroRef.__init__
    - jinja2.visitor.NodeVisitor.generic_visit
    - args.append
    - jinja2.compiler.CodeGenerator.choose_async
    - <builtin>.zip
    - frame.symbols.loads.items
    - jinja2.compiler.CodeGenerator.get_resolve_func
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.mark_parameter_stored
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.blockvisit
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - frame.inner
    - jinja2.compiler.CodeGenerator.fail
    - jinja2.compiler.CodeGenerator.outdent
    - attributes.pop
    - <builtin>.max
    - jinja2.compiler.CodeGenerator.return_buffer_contents
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.enumerate
    - jinja2.compiler.CodeGenerator.push_parameter_definitions
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.all
    - skip_special_params.add
    - <builtin>.setattr
    - io.StringIO.write
    - frame.symbols.declare_parameter
    - <builtin>.len
    - frame.symbols.dump_param_targets
    - node.as_const
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.func
    - jinja2.compiler.find_undeclared
    - jinja2.compiler.CodeGenerator.pop_parameter_definitions
    - <builtin>.isinstance
    - undefs.append
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.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: frame.inner
    functionSourceFile: <builtin>
    functionUses: 9
    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: frame.symbols.analyze_node
    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: skip_special_params.add
    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: frame.symbols.ref
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frame.symbols.declare_parameter
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 24
    functionName: jinja2.meta.TrackingCodeGenerator.enter_frame
    functionSourceFile: jinja2.meta
    functionUses: 10
    functionsReached:
    - <builtin>.super
    - frame.symbols.loads.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 733
    functionName: jinja2.compiler.CodeGenerator.push_parameter_definitions
    functionSourceFile: jinja2.compiler
    functionUses: 3
    functionsReached:
    - frame.symbols.dump_param_targets
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - target
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 746
    functionName: jinja2.compiler.CodeGenerator.mark_parameter_stored
    functionSourceFile: ''
    functionUses: 3
    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: 0
    functionLinenumber: 742
    functionName: jinja2.compiler.CodeGenerator.pop_parameter_definitions
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - macro_ref
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 694
    functionName: jinja2.compiler.CodeGenerator.macro_def
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    - jinja2.meta.TrackingCodeGenerator.write
    - io.StringIO.write
    - <builtin>.repr
    - <builtin>.len
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 706
    functionName: jinja2.compiler.CodeGenerator.position
    functionSourceFile: jinja2.compiler
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 713
    functionName: jinja2.compiler.CodeGenerator.dump_local_context
    functionSourceFile: jinja2.compiler
    functionUses: 8
    functionsReached:
    - frame.symbols.dump_stores
    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: frame.symbols.dump_stores
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 720
    functionName: jinja2.compiler.CodeGenerator.write_commons
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - io.StringIO.write
    - <builtin>.max
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.CodeGenerator.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: frame.symbols.dump_param_targets
    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
    - target
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 753
    functionName: jinja2.compiler.CodeGenerator.push_context_reference
    functionSourceFile: jinja2.compiler
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 756
    functionName: jinja2.compiler.CodeGenerator.pop_context_reference
    functionSourceFile: jinja2.compiler
    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: 759
    functionName: jinja2.compiler.CodeGenerator.get_context_ref
    functionSourceFile: jinja2.compiler
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 768
    functionName: jinja2.compiler.CodeGenerator.derive_context
    functionSourceFile: jinja2.compiler
    functionUses: 3
    functionsReached:
    - frame.symbols.dump_stores
    - jinja2.compiler.CodeGenerator.dump_local_context
    - jinja2.compiler.CodeGenerator.get_context_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - target
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 771
    functionName: jinja2.compiler.CodeGenerator.parameter_is_undeclared
    functionSourceFile: jinja2.compiler
    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: 777
    functionName: jinja2.compiler.CodeGenerator.push_assign_tracking
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 12
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 781
    functionName: jinja2.compiler.CodeGenerator.pop_assign_tracking
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.enumerate
    - frame.symbols.ref
    - jinja2.compiler.CodeGenerator.newline
    - io.StringIO.write
    - <builtin>.iter
    - <builtin>.next
    - <builtin>.len
    - <builtin>.max
    - <builtin>.map
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 39
    IfCount: 11
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bc36c70>
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 826
    functionName: jinja2.compiler.CodeGenerator.visit_Template
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.compiler.DependencyFinderVisitor.__init__
    - jinja2.compiler.UndeclaredNameVisitor.__init__
    - jinja2.compiler.CodeGenerator.leave_frame
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.FrameSymbolVisitor.__init__
    - <builtin>.set
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - jinja2.idtracking.Symbols._define_ref
    - jinja2.compiler.CodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.pull_dependencies
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.callable
    - node.iter_child_nodes
    - jinja2.visitor.NodeVisitor.generic_visit
    - jinja2.compiler.has_safe_repr
    - jinja2.idtracking.Symbols.__init__
    - jinja2.compiler.CodeGenerator.choose_async
    - jinja2.idtracking.RootVisitor.__init__
    - <builtin>.sorted
    - frame.symbols.loads.items
    - jinja2.compiler.CodeGenerator.get_resolve_func
    - jinja2.compiler.CodeGenerator.newline
    - <builtin>.type
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.blockvisit
    - <builtin>.zip
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.nodes.EvalContext.__init__
    - jinja2.idtracking.Symbols.declare_parameter
    - jinja2.compiler.CodeGenerator.fail
    - jinja2.compiler.CodeGenerator.outdent
    - attributes.pop
    - <builtin>.max
    - imp.rsplit
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.all
    - <builtin>.setattr
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.write_commons
    - <builtin>.len
    - node.as_const
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.func
    - node.find_all
    - jinja2.compiler.find_undeclared
    - node.find
    - <builtin>.isinstance
    - undefs.append
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.idtracking.Symbols.analyze_node
    - jinja2.compiler.Frame.__init__
    - jinja2.compiler.CodeGenerator.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: node.find
    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: node.find_all
    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: imp.rsplit
    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
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 112
    functionName: jinja2.idtracking.Symbols.declare_parameter
    functionSourceFile: jinja2.idtracking
    functionUses: 2
    functionsReached:
    - jinja2.idtracking.Symbols._define_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 46
    functionName: jinja2.idtracking.Symbols.analyze_node
    functionSourceFile: jinja2.idtracking
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    - jinja2.idtracking.FrameSymbolVisitor.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - jinja2.idtracking.RootVisitor.__init__
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 13
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 944
    functionName: jinja2.compiler.CodeGenerator.visit_Block
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - frame.symbols.dump_stores
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.choose_async
    - jinja2.compiler.CodeGenerator.start_write
    - jinja2.compiler.CodeGenerator.get_context_ref
    - <builtin>.max
    - jinja2.compiler.CodeGenerator.newline
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.compiler.CodeGenerator.end_write
    - jinja2.compiler.CodeGenerator.derive_context
    - jinja2.compiler.CodeGenerator.outdent
    - jinja2.compiler.CodeGenerator.dump_local_context
    - jinja2.compiler.CodeGenerator.simple_write
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 13
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 987
    functionName: jinja2.compiler.CodeGenerator.visit_Extends
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.newline
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.CodeGenerator.fail
    - jinja2.compiler.CodeGenerator.outdent
    - attributes.pop
    - <builtin>.max
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised:
    - CompilerExit
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 20
    IfCount: 10
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1029
    functionName: jinja2.compiler.CodeGenerator.visit_Include
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - frame.symbols.dump_stores
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.simple_write
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.choose_async
    - <builtin>.zip
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.newline
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.CodeGenerator.outdent
    - attributes.pop
    - <builtin>.max
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.end_write
    - <builtin>.len
    - node.as_const
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.start_write
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.dump_local_context
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1080
    functionName: jinja2.compiler.CodeGenerator._import_common
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - frame.symbols.dump_stores
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.choose_async
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.dump_local_context
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1095
    functionName: jinja2.compiler.CodeGenerator.visit_Import
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.compiler.CodeGenerator._import_common
    - <builtin>.getattr
    - frame.symbols.dump_stores
    - frame.symbols.ref
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.choose_async
    - <builtin>.zip
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.newline
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - <builtin>.max
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - node.target.startswith
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.dump_local_context
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.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: node.target.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 15
    IfCount: 7
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1106
    functionName: jinja2.compiler.CodeGenerator.visit_FromImport
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.compiler.CodeGenerator._import_common
    - <builtin>.getattr
    - frame.symbols.dump_stores
    - frame.symbols.ref
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.choose_async
    - <builtin>.zip
    - alias.startswith
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.newline
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.CodeGenerator.outdent
    - var_names.append
    - discarded_names.append
    - attributes.pop
    - <builtin>.max
    - <builtin>.map
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.all
    - <builtin>.setattr
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.compiler.CodeGenerator.position
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.dump_local_context
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.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: var_names.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: -1
    functionName: alias.startswith
    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: discarded_names.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 29
    ICount: 61
    IfCount: 20
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1156
    functionName: jinja2.compiler.CodeGenerator.visit_For
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - else_frame.symbols.analyze_node
    - jinja2.compiler.UndeclaredNameVisitor.__init__
    - jinja2.compiler.CodeGenerator.leave_frame
    - jinja2.compiler.CodeGenerator.buffer
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - jinja2.compiler.CodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.choose_async
    - <builtin>.zip
    - frame.symbols.loads.items
    - jinja2.compiler.CodeGenerator.get_resolve_func
    - jinja2.compiler.CodeGenerator.newline
    - <builtin>.type
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.blockvisit
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - frame.inner
    - jinja2.compiler.CodeGenerator.outdent
    - jinja2.compiler.CodeGenerator.fail
    - attributes.pop
    - <builtin>.max
    - <builtin>.any
    - jinja2.compiler.CodeGenerator.return_buffer_contents
    - loop_frame.symbols.analyze_node
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.all
    - <builtin>.setattr
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.end_write
    - <builtin>.len
    - loop_frame.symbols.declare_parameter
    - node.as_const
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.func
    - node.find_all
    - jinja2.compiler.find_undeclared
    - jinja2.compiler.CodeGenerator.start_write
    - <builtin>.isinstance
    - test_frame.symbols.analyze_node
    - undefs.append
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.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: loop_frame.symbols.declare_parameter
    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: loop_frame.symbols.analyze_node
    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: else_frame.symbols.analyze_node
    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: test_frame.symbols.analyze_node
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 16
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1295
    functionName: jinja2.compiler.CodeGenerator.visit_If
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.blockvisit
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.CodeGenerator.outdent
    - attributes.pop
    - <builtin>.max
    - frame.soft
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.all
    - <builtin>.setattr
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.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: frame.soft
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1316
    functionName: jinja2.compiler.CodeGenerator.visit_Macro
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - frame.symbols.ref
    - jinja2.compiler.UndeclaredNameVisitor.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.leave_frame
    - jinja2.compiler.CodeGenerator.buffer
    - jinja2.nodes.Node.__init__
    - frame.symbols.analyze_node
    - <builtin>.set
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.compiler.MacroRef.__init__
    - jinja2.visitor.NodeVisitor.generic_visit
    - args.append
    - jinja2.compiler.CodeGenerator.choose_async
    - <builtin>.zip
    - jinja2.compiler.CodeGenerator.macro_def
    - frame.symbols.loads.items
    - jinja2.compiler.CodeGenerator.get_resolve_func
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.mark_parameter_stored
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.blockvisit
    - <builtin>.type
    - jinja2.visitor.NodeVisitor.visit
    - frame.inner
    - value.items
    - jinja2.compiler.CodeGenerator.fail
    - jinja2.compiler.CodeGenerator.outdent
    - attributes.pop
    - <builtin>.max
    - jinja2.compiler.CodeGenerator.return_buffer_contents
    - jinja2.nodes.Const.from_untrusted
    - jinja2.compiler.CodeGenerator.macro_body
    - <builtin>.super
    - <builtin>.enumerate
    - jinja2.compiler.CodeGenerator.push_parameter_definitions
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.all
    - skip_special_params.add
    - <builtin>.setattr
    - io.StringIO.write
    - frame.symbols.declare_parameter
    - <builtin>.len
    - frame.symbols.dump_param_targets
    - node.as_const
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.func
    - jinja2.compiler.find_undeclared
    - node.name.startswith
    - jinja2.compiler.CodeGenerator.pop_parameter_definitions
    - <builtin>.isinstance
    - <builtin>.repr
    - undefs.append
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.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: node.name.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1326
    functionName: jinja2.compiler.CodeGenerator.visit_CallBlock
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.compiler.CodeGenerator.signature
    - extra_kwargs.items
    - <builtin>.getattr
    - frame.symbols.ref
    - jinja2.compiler.UndeclaredNameVisitor.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.leave_frame
    - jinja2.compiler.CodeGenerator.buffer
    - jinja2.nodes.Node.__init__
    - frame.symbols.analyze_node
    - <builtin>.set
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.compiler.MacroRef.__init__
    - jinja2.visitor.NodeVisitor.generic_visit
    - args.append
    - jinja2.compiler.CodeGenerator.choose_async
    - <builtin>.zip
    - jinja2.compiler.CodeGenerator.macro_def
    - frame.symbols.loads.items
    - jinja2.compiler.CodeGenerator.get_resolve_func
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.mark_parameter_stored
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.blockvisit
    - <builtin>.type
    - jinja2.visitor.NodeVisitor.visit
    - frame.inner
    - value.items
    - jinja2.compiler.CodeGenerator.fail
    - jinja2.compiler.CodeGenerator.outdent
    - attributes.pop
    - <builtin>.max
    - jinja2.compiler.CodeGenerator.return_buffer_contents
    - <builtin>.any
    - extra_kwargs.update
    - jinja2.nodes.Const.from_untrusted
    - jinja2.compiler.CodeGenerator.macro_body
    - <builtin>.super
    - <builtin>.enumerate
    - jinja2.compiler.CodeGenerator.push_parameter_definitions
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - skip_special_params.add
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.dict
    - jinja2.compiler.CodeGenerator.end_write
    - frame.symbols.declare_parameter
    - <builtin>.len
    - frame.symbols.dump_param_targets
    - node.as_const
    - jinja2.compiler.CodeGenerator.visit_Call
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.func
    - jinja2.compiler.find_undeclared
    - jinja2.compiler.CodeGenerator.start_write
    - typing.cast
    - keyword.iskeyword
    - jinja2.compiler.CodeGenerator.pop_parameter_definitions
    - <builtin>.isinstance
    - itertools.chain
    - <builtin>.repr
    - undefs.append
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 8
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1334
    functionName: jinja2.compiler.CodeGenerator.visit_FilterBlock
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.compiler.CodeGenerator.signature
    - extra_kwargs.items
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.leave_frame
    - jinja2.compiler.CodeGenerator.buffer
    - jinja2.nodes.Node.__init__
    - <builtin>.hasattr
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - jinja2.compiler.CodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.visit_Filter
    - jinja2.compiler.CodeGenerator._filter_test_common
    - <builtin>.zip
    - frame.symbols.loads.items
    - jinja2.compiler.CodeGenerator.get_resolve_func
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.blockvisit
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - frame.inner
    - jinja2.compiler.CodeGenerator.fail
    - attributes.pop
    - jinja2.utils._PassArg.from_obj
    - <builtin>.any
    - <builtin>.max
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.end_write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - filter_frame.symbols.analyze_node
    - jinja2.compiler.CodeGenerator.start_write
    - typing.cast
    - keyword.iskeyword
    - <builtin>.isinstance
    - itertools.chain
    - undefs.append
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.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: filter_frame.symbols.analyze_node
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 8
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1345
    functionName: jinja2.compiler.CodeGenerator.visit_With
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.leave_frame
    - with_frame.symbols.analyze_node
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - frame.symbols.loads.items
    - jinja2.compiler.CodeGenerator.get_resolve_func
    - jinja2.compiler.CodeGenerator.newline
    - <builtin>.type
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.blockvisit
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - frame.inner
    - attributes.pop
    - <builtin>.max
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.all
    - <builtin>.setattr
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - undefs.append
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.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: with_frame.symbols.analyze_node
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1357
    functionName: jinja2.compiler.CodeGenerator.visit_ExprStmt
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.newline
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - <builtin>.max
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1366
    functionName: jinja2.compiler.CodeGenerator._default_finalize
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1375
    functionName: jinja2.compiler.CodeGenerator._make_finalize
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.utils._PassArg.from_obj
    - typing.NamedTuple.__init__
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1417
    functionName: jinja2.compiler.CodeGenerator._make_finalize.finalize
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - jinja2.compiler.CodeGenerator._default_finalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - group
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1423
    functionName: jinja2.compiler.CodeGenerator._output_const_repr
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    - finalize
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1430
    functionName: jinja2.compiler.CodeGenerator._output_child_to_const
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - <builtin>.isinstance
    - markupsafe.escape
    - node.as_const
    - typing.NamedTuple.const
    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: node.as_const
    functionSourceFile: <builtin>
    functionUses: 76
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.const
    functionSourceFile: typing
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    - finalize
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1451
    functionName: jinja2.compiler.CodeGenerator._output_child_pre
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - io.StringIO.write
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    - finalize
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1467
    functionName: jinja2.compiler.CodeGenerator._output_child_post
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - io.StringIO.write
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 19
    IfCount: 12
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1478
    functionName: jinja2.compiler.CodeGenerator.visit_Output
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - <builtin>.hasattr
    - jinja2.compiler.CodeGenerator._output_const_repr
    - typing.NamedTuple.__init__
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.str
    - <builtin>.zip
    - jinja2.compiler.CodeGenerator._output_child_to_const
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.newline
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.CodeGenerator._output_child_post
    - jinja2.compiler.CodeGenerator.outdent
    - attributes.pop
    - <builtin>.max
    - jinja2.utils._PassArg.from_obj
    - markupsafe.escape
    - typing.NamedTuple.const
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.all
    - <builtin>.setattr
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator._make_finalize
    - <builtin>.isinstance
    - body.append
    - jinja2.compiler.CodeGenerator._output_child_pre
    - <builtin>.repr
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1557
    functionName: jinja2.compiler.CodeGenerator.visit_Assign
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - frame.symbols.ref
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.newline
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - <builtin>.max
    - <builtin>.map
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.enumerate
    - <builtin>.all
    - <builtin>.setattr
    - io.StringIO.write
    - <builtin>.iter
    - jinja2.compiler.CodeGenerator.pop_assign_tracking
    - <builtin>.next
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.push_assign_tracking
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 13
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1565
    functionName: jinja2.compiler.CodeGenerator.visit_AssignBlock
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.compiler.CodeGenerator.signature
    - extra_kwargs.items
    - <builtin>.getattr
    - frame.symbols.ref
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.leave_frame
    - jinja2.compiler.CodeGenerator.buffer
    - jinja2.nodes.Node.__init__
    - <builtin>.hasattr
    - <builtin>.set
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.visit_Filter
    - jinja2.compiler.CodeGenerator._filter_test_common
    - <builtin>.zip
    - frame.symbols.loads.items
    - jinja2.compiler.CodeGenerator.get_resolve_func
    - jinja2.compiler.CodeGenerator.newline
    - <builtin>.type
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.blockvisit
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - frame.inner
    - jinja2.compiler.CodeGenerator.fail
    - attributes.pop
    - jinja2.utils._PassArg.from_obj
    - <builtin>.max
    - block_frame.symbols.analyze_node
    - <builtin>.any
    - <builtin>.map
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.enumerate
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.iter
    - jinja2.compiler.CodeGenerator.pop_assign_tracking
    - <builtin>.next
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.push_assign_tracking
    - typing.cast
    - keyword.iskeyword
    - <builtin>.isinstance
    - itertools.chain
    - undefs.append
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.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: block_frame.symbols.analyze_node
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1589
    functionName: jinja2.compiler.CodeGenerator.visit_Name
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.meta.TrackingCodeGenerator.write
    - frame.symbols.ref
    - io.StringIO.write
    - frame.symbols.find_load
    - jinja2.compiler.CodeGenerator.parameter_is_undeclared
    - jinja2.compiler.CodeGenerator.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: frame.symbols.find_load
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1614
    functionName: jinja2.compiler.CodeGenerator.visit_NSRef
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.meta.TrackingCodeGenerator.write
    - frame.symbols.ref
    - jinja2.compiler.CodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.outdent
    - <builtin>.max
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.CodeGenerator.indent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1628
    functionName: jinja2.compiler.CodeGenerator.visit_Const
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.isinstance
    - io.StringIO.write
    - <builtin>.repr
    - node.as_const
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1635
    functionName: jinja2.compiler.CodeGenerator.visit_TemplateData
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.meta.TrackingCodeGenerator.write
    - io.StringIO.write
    - <builtin>.repr
    - node.as_const
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1643
    functionName: jinja2.compiler.CodeGenerator.visit_Tuple
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.enumerate
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1652
    functionName: jinja2.compiler.CodeGenerator.visit_List
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.enumerate
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1660
    functionName: jinja2.compiler.CodeGenerator.visit_Dict
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.enumerate
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.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: 2
    functionLinenumber: -1
    functionName: jinja2.compiler.CodeGenerator
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - typing.cast
    - jinja2.compiler._make_unop
    - jinja2.compiler._make_binop
    - contextlib.contextmanager
    - jinja2.compiler.optimizeconst
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1705
    functionName: jinja2.compiler.CodeGenerator.visit_Operand
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1742
    functionName: jinja2.compiler.CodeGenerator.visit_Slice
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.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: contextlib.contextmanager
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 9
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    - is_filter
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1753
    functionName: jinja2.compiler.CodeGenerator._filter_test_common
    functionSourceFile: jinja2.compiler
    functionUses: 5
    functionsReached:
    - jinja2.compiler.CodeGenerator.signature
    - extra_kwargs.items
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - <builtin>.hasattr
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.CodeGenerator.fail
    - attributes.pop
    - jinja2.utils._PassArg.from_obj
    - <builtin>.any
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.all
    - <builtin>.setattr
    - io.StringIO.write
    - <builtin>.len
    - jinja2.idtracking.RootVisitor.generic_visit
    - node.as_const
    - typing.cast
    - keyword.iskeyword
    - <builtin>.isinstance
    - itertools.chain
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1820
    functionName: jinja2.compiler.CodeGenerator.visit_CondExpr.write_expr2
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.position
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.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: extra_kwargs.update
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1862
    functionName: jinja2.compiler.CodeGenerator.visit_Keyword
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1868
    functionName: jinja2.compiler.CodeGenerator.visit_MarkSafe
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1873
    functionName: jinja2.compiler.CodeGenerator.visit_MarkSafeIfAutoescape
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1880
    functionName: jinja2.compiler.CodeGenerator.visit_EnvironmentAttribute
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - io.StringIO.write
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1885
    functionName: jinja2.compiler.CodeGenerator.visit_ExtensionAttribute
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - io.StringIO.write
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1890
    functionName: jinja2.compiler.CodeGenerator.visit_ImportedName
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - io.StringIO.write
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1893
    functionName: jinja2.compiler.CodeGenerator.visit_InternalName
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - io.StringIO.write
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1896
    functionName: jinja2.compiler.CodeGenerator.visit_ContextReference
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - io.StringIO.write
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1901
    functionName: jinja2.compiler.CodeGenerator.visit_DerivedContextReference
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - frame.symbols.dump_stores
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.get_context_ref
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.derive_context
    - jinja2.compiler.CodeGenerator.dump_local_context
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1906
    functionName: jinja2.compiler.CodeGenerator.visit_Continue
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - io.StringIO.write
    - <builtin>.max
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1909
    functionName: jinja2.compiler.CodeGenerator.visit_Break
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - io.StringIO.write
    - <builtin>.max
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1912
    functionName: jinja2.compiler.CodeGenerator.visit_Scope
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.leave_frame
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - frame.symbols.loads.items
    - jinja2.compiler.CodeGenerator.get_resolve_func
    - jinja2.compiler.CodeGenerator.newline
    - <builtin>.type
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.blockvisit
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - frame.inner
    - attributes.pop
    - <builtin>.max
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.all
    - <builtin>.setattr
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - undefs.append
    - jinja2.optimizer.Optimizer.generic_visit
    - scope_frame.symbols.analyze_node
    - jinja2.compiler.CodeGenerator.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: scope_frame.symbols.analyze_node
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 9
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1919
    functionName: jinja2.compiler.CodeGenerator.visit_OverlayScope
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - frame.symbols.dump_stores
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.leave_frame
    - jinja2.nodes.Node.__init__
    - jinja2.compiler.CodeGenerator.push_context_reference
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - frame.symbols.loads.items
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.get_resolve_func
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    - jinja2.compiler.CodeGenerator.blockvisit
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - frame.inner
    - attributes.pop
    - <builtin>.max
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.all
    - <builtin>.setattr
    - jinja2.compiler.CodeGenerator.get_context_ref
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.derive_context
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.pop_context_reference
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.dump_local_context
    - undefs.append
    - jinja2.optimizer.Optimizer.generic_visit
    - scope_frame.symbols.analyze_node
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1933
    functionName: jinja2.compiler.CodeGenerator.visit_EvalContextModifier
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.newline
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - <builtin>.max
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - io.StringIO.write
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - keyword.value.as_const
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.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: keyword.value.as_const
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1946
    functionName: jinja2.compiler.CodeGenerator.visit_ScopedEvalContextModifier
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - frame.eval_ctx.save
    - <builtin>.zip
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.newline
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - <builtin>.max
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.setattr
    - <builtin>.all
    - jinja2.compiler.CodeGenerator.write
    - io.StringIO.write
    - frame.eval_ctx.revert
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - keyword.value.as_const
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.visit_EvalContextModifier
    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: frame.eval_ctx.save
    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: frame.eval_ctx.revert
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.optimizer
    functionSourceFile: jinja2.optimizer
    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:
    - node
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 19
    functionName: jinja2.optimizer.optimize
    functionSourceFile: jinja2.optimizer
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - typing.cast
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.__init__
    - jinja2.optimizer.Optimizer.generic_visit
    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: jinja2.idtracking
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    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 0x7eff4bd61430>
    argNames:
    - nodes
    - parent_symbols
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 12
    functionName: jinja2.idtracking.find_symbols
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.idtracking.FrameSymbolVisitor.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - jinja2.idtracking.Symbols.__init__
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - symbols
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 235
    functionName: jinja2.idtracking.FrameSymbolVisitor.__init__
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4be3ad60>
    argNames:
    - node
    - parent_symbols
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 22
    functionName: jinja2.idtracking.symbols_for_node
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.idtracking.FrameSymbolVisitor.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - jinja2.idtracking.Symbols.__init__
    - jinja2.idtracking.RootVisitor.__init__
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.idtracking.Symbols.analyze_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - symbols
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 175
    functionName: jinja2.idtracking.RootVisitor.__init__
    functionSourceFile: jinja2.idtracking
    functionUses: 3
    functionsReached:
    - jinja2.idtracking.FrameSymbolVisitor.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cde0160>
    argNames:
    - self
    - name
    - load
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 50
    functionName: jinja2.idtracking.Symbols._define_ref
    functionSourceFile: jinja2.idtracking
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - target
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 59
    functionName: jinja2.idtracking.Symbols.find_load
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.idtracking.Symbols.find_load
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 68
    functionName: jinja2.idtracking.Symbols.find_ref
    functionSourceFile: jinja2.idtracking
    functionUses: 11
    functionsReached:
    - jinja2.idtracking.Symbols.find_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 77
    functionName: jinja2.idtracking.Symbols.ref
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.idtracking.Symbols.find_ref
    linkageType: pythonLinkage
    raised:
    - AssertionError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 94
    functionName: jinja2.idtracking.Symbols.store
    functionSourceFile: jinja2.idtracking
    functionUses: 4
    functionsReached:
    - jinja2.idtracking.Symbols.find_ref
    - jinja2.idtracking.Symbols._define_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 116
    functionName: jinja2.idtracking.Symbols.load
    functionSourceFile: jinja2.idtracking
    functionUses: 2
    functionsReached:
    - jinja2.idtracking.Symbols.find_ref
    - jinja2.idtracking.Symbols._define_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - branch_symbols
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 120
    functionName: jinja2.idtracking.Symbols.branch_update
    functionSourceFile: jinja2.idtracking
    functionUses: 1
    functionsReached:
    - stores.items
    - stores.get
    - jinja2.idtracking.Symbols.find_ref
    - <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: stores.get
    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: stores.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    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: 2
    functionLinenumber: 147
    functionName: jinja2.idtracking.Symbols.dump_stores
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.idtracking.Symbols.find_ref
    - <builtin>.sorted
    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: 160
    functionName: jinja2.idtracking.Symbols.dump_param_targets
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - rv.add
    - <builtin>.set
    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: rv.add
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 178
    functionName: jinja2.idtracking.RootVisitor._simple_visit
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 190
    functionName: jinja2.idtracking.RootVisitor.visit_AssignBlock
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 194
    functionName: jinja2.idtracking.RootVisitor.visit_CallBlock
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 198
    functionName: jinja2.idtracking.RootVisitor.visit_OverlayScope
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4bffbc40>
    argNames:
    - self
    - node
    - for_branch
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 202
    functionName: jinja2.idtracking.RootVisitor.visit_For
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 222
    functionName: jinja2.idtracking.RootVisitor.visit_With
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4be4ac40>
    argNames:
    - self
    - node
    - store_as_param
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 238
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_Name
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.idtracking.Symbols.load
    - jinja2.idtracking.Symbols._define_ref
    - jinja2.idtracking.Symbols.declare_parameter
    - jinja2.idtracking.Symbols.find_ref
    - jinja2.idtracking.Symbols.store
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 249
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_NSRef
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.idtracking.Symbols.find_ref
    - jinja2.idtracking.Symbols.load
    - jinja2.idtracking.Symbols._define_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 252
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_If
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - stores.items
    - <builtin>.getattr
    - stores.get
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - object.__new__
    - node.iter_child_nodes
    - jinja2.idtracking.Symbols.branch_update
    - rv.__dict__.update
    - jinja2.idtracking.Symbols.copy
    - jinja2.visitor.NodeVisitor.generic_visit
    - jinja2.compiler.has_safe_repr
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.idtracking.Symbols.find_ref
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - jinja2.idtracking.FrameSymbolVisitor.visit_If.inner_visit
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - nodes
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 256
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_If.inner_visit
    functionSourceFile: jinja2.idtracking
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - object.__new__
    - node.iter_child_nodes
    - rv.__dict__.update
    - jinja2.idtracking.Symbols.copy
    - jinja2.visitor.NodeVisitor.generic_visit
    - jinja2.compiler.has_safe_repr
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 270
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_Macro
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.idtracking.Symbols.find_ref
    - jinja2.idtracking.Symbols.store
    - jinja2.idtracking.Symbols._define_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 273
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_Import
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.idtracking.Symbols._define_ref
    - jinja2.idtracking.Symbols.store
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.idtracking.Symbols.find_ref
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 277
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_FromImport
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.idtracking.Symbols._define_ref
    - jinja2.idtracking.Symbols.store
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.idtracking.Symbols.find_ref
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 286
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_Assign
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 291
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_For
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 297
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_CallBlock
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 300
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_FilterBlock
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 303
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_With
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 307
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_AssignBlock
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 311
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_Scope
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 314
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_Block
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 317
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_OverlayScope
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.visitor
    functionSourceFile: jinja2.visitor
    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
    - node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 12
    functionName: jinja2.visitor.VisitCallable.__call__
    functionSourceFile: jinja2.visitor
    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
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 28
    functionName: jinja2.visitor.NodeVisitor.get_visitor
    functionSourceFile: jinja2.visitor
    functionUses: 71
    functionsReached:
    - <builtin>.getattr
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 61
    functionName: jinja2.visitor.NodeTransformer.generic_visit
    functionSourceFile: jinja2.visitor
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - new_values.append
    - node.iter_child_nodes
    - <builtin>.delattr
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - node.iter_fields
    - <builtin>.len
    - new_values.extend
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    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: node.iter_fields
    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: new_values.extend
    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: new_values.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: -1
    functionName: <builtin>.delattr
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 83
    functionName: jinja2.visitor.NodeTransformer.visit_list
    functionSourceFile: jinja2.visitor
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.setattr
    - <builtin>.all
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    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: jinja2.utils
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    - re.compile
    - <builtin>.set
    - <builtin>.type
    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: enum.auto
    functionSourceFile: enum
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.utils._PassArg
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - enum.auto
    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: internal_code.add
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: jinja2.utils.is_undefined
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 118
    functionName: jinja2.utils.clear_caches
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - _lexer_cache.clear
    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: _lexer_cache.clear
    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: import_name.split
    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: import_name.rpartition
    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>.__import__
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ce87be0>
    argNames:
    - filename
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 155
    functionName: jinja2.utils.open_if_exists
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - os.path.isfile
    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.isfile
    functionSourceFile: os
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 165
    functionName: jinja2.utils.object_type_repr
    functionSourceFile: jinja2.utils
    functionUses: 2
    functionsReached:
    - <builtin>.type
    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: pprint.pformat
    functionSourceFile: pprint
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 269
    functionName: jinja2.utils.urlize.trim_url
    functionSourceFile: jinja2.utils
    functionUses: 2
    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: re.split
    functionSourceFile: re
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.match
    functionSourceFile: re
    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: match.group
    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: match.end
    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: middle.endswith
    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: re.search
    functionSourceFile: re
    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: match.start
    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: middle.count
    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: tail.count
    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: <builtin>.min
    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: tail.index
    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: _http_re.match
    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: middle.startswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _email_re.match
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c881070>
    - <ast.Constant object at 0x7eff4c8814c0>
    - <ast.Constant object at 0x7eff4c6380d0>
    - <ast.Constant object at 0x7eff4c6387c0>
    argNames:
    - n
    - html
    - min
    - max
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 342
    functionName: jinja2.utils.generate_lorem_ipsum
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - LOREM_IPSUM_WORDS.split
    - <builtin>.enumerate
    - <builtin>.range
    - random.choice.capitalize
    - p.append
    - p_str.endswith
    - random.randrange
    - random.choice
    - result.append
    - markupsafe.Markup
    - markupsafe.escape
    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: LOREM_IPSUM_WORDS.split
    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: random.randrange
    functionSourceFile: random
    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: random.choice.capitalize
    functionSourceFile: random
    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: p.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: -1
    functionName: p_str.endswith
    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: result.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj.encode
    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: urllib.parse.quote_from_bytes
    functionSourceFile: urllib
    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: urllib.parse.quote_from_bytes.replace
    functionSourceFile: urllib
    functionUses: 2
    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: 434
    functionName: jinja2.utils.LRUCache._postinit
    functionSourceFile: jinja2.utils
    functionUses: 8
    functionsReached:
    - threading.Lock
    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: threading.Lock
    functionSourceFile: threading
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 442
    functionName: jinja2.utils.LRUCache.__getstate__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - d
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 449
    functionName: jinja2.utils.LRUCache.__setstate__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - jinja2.utils.LRUCache._postinit
    - threading.Lock
    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: 453
    functionName: jinja2.utils.LRUCache.__getnewargs__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 458
    functionName: jinja2.utils.LRUCache.copy
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - rv._mapping.update
    - rv._queue.extend
    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: rv._mapping.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv._queue.extend
    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:
    - <ast.Constant object at 0x7eff4c2afa30>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 472
    functionName: jinja2.utils.LRUCache.setdefault
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 482
    functionName: jinja2.utils.LRUCache.clear
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 488
    functionName: jinja2.utils.LRUCache.__contains__
    functionSourceFile: jinja2.utils
    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: 1
    functionLinenumber: 492
    functionName: jinja2.utils.LRUCache.__len__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.len
    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: 496
    functionName: jinja2.utils.LRUCache.__repr__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 499
    functionName: jinja2.utils.LRUCache.__getitem__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 521
    functionName: jinja2.utils.LRUCache.__setitem__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 534
    functionName: jinja2.utils.LRUCache.__delitem__
    functionSourceFile: jinja2.utils
    functionUses: 0
    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: 546
    functionName: jinja2.utils.LRUCache.items
    functionSourceFile: jinja2.utils
    functionUses: 1
    functionsReached:
    - result.reverse
    - <builtin>.list
    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: result.reverse
    functionSourceFile: <builtin>
    functionUses: 2
    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: 2
    functionLinenumber: 552
    functionName: jinja2.utils.LRUCache.values
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - jinja2.utils.LRUCache.items
    - result.reverse
    - <builtin>.list
    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: 1
    functionLinenumber: 556
    functionName: jinja2.utils.LRUCache.keys
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.list
    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: 560
    functionName: jinja2.utils.LRUCache.__iter__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.reversed
    - <builtin>.tuple
    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: 1
    functionLinenumber: 563
    functionName: jinja2.utils.LRUCache.__reversed__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Tuple object at 0x7eff4c2b33a0>
    - <ast.Tuple object at 0x7eff4c2b32e0>
    - <ast.Constant object at 0x7eff4c2b32b0>
    - <ast.Constant object at 0x7eff4c2b3280>
    argNames:
    - enabled_extensions
    - disabled_extensions
    - default_for_string
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 572
    functionName: jinja2.utils.select_autoescape
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - x.lstrip
    - <builtin>.tuple
    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: x.lstrip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - template_name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 615
    functionName: jinja2.utils.select_autoescape.autoescape
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - template_name.lower
    - template_name.endswith
    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: template_name.lower
    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: template_name.endswith
    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: json.dumps
    functionSourceFile: json
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - items
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 694
    functionName: jinja2.utils.Cycler.__init__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 700
    functionName: jinja2.utils.Cycler.reset
    functionSourceFile: jinja2.utils
    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: 705
    functionName: jinja2.utils.Cycler.current
    functionSourceFile: jinja2.utils
    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: 1
    functionLinenumber: 711
    functionName: jinja2.utils.Cycler.next
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c2c6370>
    argNames:
    - self
    - sep
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 725
    functionName: jinja2.utils.Joiner.__init__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    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: 0
    functionLinenumber: 729
    functionName: jinja2.utils.Joiner.__call__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 740
    functionName: jinja2.utils.Namespace.__init__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 744
    functionName: jinja2.utils.Namespace.__getattribute__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - object.__getattribute__
    linkageType: pythonLinkage
    raised:
    - AttributeError
    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: object.__getattribute__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 753
    functionName: jinja2.utils.Namespace.__setitem__
    functionSourceFile: jinja2.utils
    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: 756
    functionName: jinja2.utils.Namespace.__repr__
    functionSourceFile: jinja2.utils
    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: jinja2.constants
    functionSourceFile: jinja2.constants
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jinja2.lexer
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - <builtin>.frozenset
    - <builtin>.sorted
    - collections.deque
    - jinja2.utils.LRUCache._postinit
    - threading.Lock
    - sys.intern
    - <builtin>.len
    - re.escape
    - re.compile
    - jinja2.utils.LRUCache.__init__
    - operators.items
    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.intern
    functionSourceFile: sys
    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: operators.items
    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: re.escape
    functionSourceFile: re
    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: jinja2.lexer.<lambda1>
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - token_type
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 163
    functionName: jinja2.lexer._describe_token_type
    functionSourceFile: jinja2.lexer
    functionUses: 57
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - expr
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 191
    functionName: jinja2.lexer.describe_token_expr
    functionSourceFile: jinja2.lexer
    functionUses: 54
    functionsReached:
    - expr.split
    - jinja2.lexer._describe_token_type
    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: expr.split
    functionSourceFile: <builtin>
    functionUses: 62
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 204
    functionName: jinja2.lexer.count_newlines
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - newline_re.findall
    - <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: newline_re.findall
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - environment
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 211
    functionName: jinja2.lexer.compile_rules
    functionSourceFile: jinja2.lexer
    functionUses: 3
    functionsReached:
    - re.escape
    - rules.append
    - <builtin>.sorted
    - <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: rules.append
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7eff4d91e2e0>
    argNames:
    - self
    - message
    - cls
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 257
    functionName: jinja2.lexer.Failure.__init__
    functionSourceFile: jinja2.lexer
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - lineno
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 263
    functionName: jinja2.lexer.Failure.__call__
    functionSourceFile: jinja2.lexer
    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: 2
    functionLinenumber: 272
    functionName: jinja2.lexer.Token.__str__
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - jinja2.lexer.describe_token
    - jinja2.lexer._describe_token_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - stream
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 300
    functionName: jinja2.lexer.TokenStreamIterator.__init__
    functionSourceFile: jinja2.lexer
    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: 303
    functionName: jinja2.lexer.TokenStreamIterator.__iter__
    functionSourceFile: jinja2.lexer
    functionUses: 0
    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: 2
    functionLinenumber: 306
    functionName: jinja2.lexer.TokenStreamIterator.__next__
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - typing.NamedTuple.__init__
    - <builtin>.next
    - jinja2.lexer.TokenStream.close
    - <builtin>.iter
    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: 1
    functionLinenumber: 395
    functionName: jinja2.lexer.TokenStream.close
    functionSourceFile: jinja2.lexer
    functionUses: 2
    functionsReached:
    - typing.NamedTuple.__init__
    - <builtin>.iter
    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: 337
    functionName: jinja2.lexer.TokenStream.__iter__
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - jinja2.lexer.TokenStreamIterator.__init__
    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: 340
    functionName: jinja2.lexer.TokenStream.__bool__
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bool
    functionSourceFile: <builtin>
    functionUses: 2
    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: 344
    functionName: jinja2.lexer.TokenStream.eos
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 348
    functionName: jinja2.lexer.TokenStream.push
    functionSourceFile: jinja2.lexer
    functionUses: 56
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - expr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 365
    functionName: jinja2.lexer.TokenStream.next_if
    functionSourceFile: jinja2.lexer
    functionUses: 54
    functionsReached:
    - expr.split
    - <builtin>.next
    - jinja2.lexer.Token.test
    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: 2
    functionLinenumber: 378
    functionName: jinja2.lexer.TokenStream.__next__
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - typing.NamedTuple.__init__
    - <builtin>.next
    - jinja2.lexer.TokenStream.close
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _lexer_cache.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 477
    functionName: jinja2.lexer.Lexer.__init__
    functionSourceFile: jinja2.lexer
    functionUses: 2
    functionsReached:
    - <builtin>.sorted
    - jinja2.lexer.compile_rules
    - typing.NamedTuple.__init__
    - re.escape
    - rules.append
    - re.compile
    - <builtin>.len
    - jinja2.lexer.Lexer.__init__.c
    - jinja2.lexer.Failure.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - members
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 459
    functionName: jinja2.lexer.OptionalLStrip.__new__
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 481
    functionName: jinja2.lexer.Lexer.__init__.c
    functionSourceFile: jinja2.lexer
    functionUses: 3
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 596
    functionName: jinja2.lexer.Lexer._normalize_newlines
    functionSourceFile: jinja2.lexer
    functionUses: 2
    functionsReached:
    - newline_re.sub
    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: newline_re.sub
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ca399d0>
    - <ast.Constant object at 0x7eff4ca399a0>
    - <ast.Constant object at 0x7eff4ca39970>
    argNames:
    - self
    - source
    - name
    - filename
    - state
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 602
    functionName: jinja2.lexer.Lexer.tokenize
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - balancing_stack.append
    - newline_re.split
    - ast.literal_eval
    - typing.NamedTuple.__init__
    - whitespace_re.fullmatch
    - m.group
    - <builtin>.str
    - value.count
    - stack.append
    - m.groups
    - <builtin>.int
    - <builtin>.enumerate
    - data.count
    - text.rfind
    - jinja2.lexer.Lexer._normalize_newlines
    - regex.match
    - text.rstrip
    - <builtin>.iter
    - jinja2.lexer.Lexer.wrap
    - value_str.replace
    - <builtin>.next
    - <builtin>.len
    - newline_re.sub
    - m.end
    - m.groupdict
    - <builtin>.isinstance
    - balancing_stack.pop
    - ast.literal_eval.isidentifier
    - stack.pop
    - jinja2.lexer.TokenStream.__init__
    - collections.deque
    - jinja2.lexer.Lexer.tokeniter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 27
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 39
    ICount: 11
    IfCount: 27
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ca29a90>
    - <ast.Constant object at 0x7eff4ca29a60>
    argNames:
    - self
    - source
    - name
    - filename
    - state
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 667
    functionName: jinja2.lexer.Lexer.tokeniter
    functionSourceFile: jinja2.lexer
    functionUses: 1
    functionsReached:
    - balancing_stack.append
    - newline_re.split
    - whitespace_re.fullmatch
    - m.group
    - value.count
    - stack.append
    - m.groups
    - data.count
    - <builtin>.enumerate
    - text.rfind
    - regex.match
    - text.rstrip
    - <builtin>.next
    - <builtin>.len
    - m.end
    - m.groupdict
    - <builtin>.isinstance
    - balancing_stack.pop
    - stack.pop
    linkageType: pythonLinkage
    raised:
    - TemplateSyntaxError
    - RuntimeError
    - token
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 2
    IfCount: 12
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ca26fd0>
    - <ast.Constant object at 0x7eff4ca26fa0>
    argNames:
    - self
    - stream
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 613
    functionName: jinja2.lexer.Lexer.wrap
    functionSourceFile: jinja2.lexer
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - jinja2.lexer.Lexer._normalize_newlines
    - ast.literal_eval.isidentifier
    - ast.literal_eval
    - typing.NamedTuple.__init__
    - value_str.replace
    - newline_re.sub
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - TemplateSyntaxError
    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: ast.literal_eval.isidentifier
    functionSourceFile: ast
    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: value_str.replace
    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: ast.literal_eval
    functionSourceFile: ast
    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: newline_re.split
    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: regex.match
    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: m.groups
    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: text.rstrip
    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: m.groupdict
    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: text.rfind
    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: whitespace_re.fullmatch
    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: value.count
    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: data.count
    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: m.group
    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: balancing_stack.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: balancing_stack.pop
    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: m.end
    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: stack.pop
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2._identifier
    functionSourceFile: jinja2._identifier
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.runtime
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c705310>
    argNames:
    - self
    - reciter
    - loop_render_func
    - depth
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 35
    functionName: jinja2.runtime.LoopRenderFunc.__call__
    functionSourceFile: jinja2.runtime
    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:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 68
    functionName: jinja2.runtime.identity
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - seq
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: jinja2.runtime.markup_join
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - buf.append
    - <builtin>.hasattr
    - markupsafe.Markup.join
    - itertools.chain
    - markupsafe.Markup
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - seq
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 86
    functionName: jinja2.runtime.str_join
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c9a7ac0>
    - <ast.Constant object at 0x7eff4c9a7a90>
    - <ast.Constant object at 0x7eff4c9a7a60>
    - <ast.Constant object at 0x7eff4c9a7a30>
    argNames:
    - environment
    - template_name
    - blocks
    - vars
    - shared
    - globals
    - locals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: jinja2.runtime.new_context
    functionSourceFile: jinja2.runtime
    functionUses: 2
    functionsReached:
    - <builtin>.dict
    - environment.context_class
    - locals.items
    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: locals.items
    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: environment.context_class
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 123
    functionName: jinja2.runtime.TemplateReference.__init__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 126
    functionName: jinja2.runtime.TemplateReference.__getitem__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.BlockReference.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - name
    - context
    - stack
    - depth
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 345
    functionName: jinja2.runtime.BlockReference.__init__
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 130
    functionName: jinja2.runtime.TemplateReference.__repr__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - dict_method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: jinja2.runtime._dict_method_all
    functionSourceFile: jinja2.runtime
    functionUses: 1
    functionsReached:
    - typing.cast
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.wraps
    functionSourceFile: functools
    functionUses: 4
    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: 136
    functionName: jinja2.runtime._dict_method_all.f_all
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cde03a0>
    argNames:
    - self
    - environment
    - parent
    - name
    - blocks
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 163
    functionName: jinja2.runtime.Context.__init__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - blocks.items
    - <builtin>.callable
    - <builtin>.set
    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: blocks.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - current
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 184
    functionName: jinja2.runtime.Context.super
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - blocks.index
    - jinja2.runtime.BlockReference.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: blocks.index
    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:
    - <ast.Constant object at 0x7eff4db7f220>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 198
    functionName: jinja2.runtime.Context.get
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 210
    functionName: jinja2.runtime.Context.resolve
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.Context.resolve_or_missing
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 227
    functionName: jinja2.runtime.Context.resolve_or_missing
    functionSourceFile: ''
    functionUses: 2
    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: 245
    functionName: jinja2.runtime.Context.get_exported
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 249
    functionName: jinja2.runtime.Context.get_all
    functionSourceFile: jinja2.runtime
    functionUses: 3
    functionsReached:
    - <builtin>.dict
    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: 2
    functionLinenumber: -1
    functionName: jinja2.runtime.Context
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - internal_code.add
    - typing.cast
    - jinja2.utils.internalcode
    - jinja2.runtime._dict_method_all
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 4
    argDefaultValues: []
    argNames:
    - __self
    - __obj
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 261
    functionName: jinja2.runtime.Context.call
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - kwargs.get
    - <builtin>.dict
    - <builtin>.hasattr
    - locals.items
    - jinja2.runtime.Context.derived
    - jinja2.runtime.Context.get_all
    - environment.context_class
    - <builtin>.list
    - jinja2.utils._PassArg.from_obj
    - context.blocks.update
    - kwargs.pop
    - jinja2.runtime.new_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c8810a0>
    argNames:
    - self
    - locals
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 308
    functionName: jinja2.runtime.Context.derived
    functionSourceFile: jinja2.runtime
    functionUses: 1
    functionsReached:
    - <builtin>.dict
    - locals.items
    - jinja2.runtime.Context.get_all
    - environment.context_class
    - <builtin>.list
    - context.blocks.update
    - jinja2.runtime.new_context
    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: context.blocks.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 324
    functionName: jinja2.runtime.Context.__contains__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 327
    functionName: jinja2.runtime.Context.__getitem__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.Context.resolve_or_missing
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 338
    functionName: jinja2.runtime.Context.__repr__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.Context.get_all
    - <builtin>.dict
    - <builtin>.type
    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: 358
    functionName: jinja2.runtime.BlockReference.super
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.BlockReference.__init__
    - <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: 2
    functionLinenumber: -1
    functionName: jinja2.runtime.BlockReference
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - internal_code.add
    - jinja2.utils.internalcode
    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: 367
    functionName: jinja2.runtime.BlockReference._async_call
    functionSourceFile: jinja2.runtime
    functionUses: 1
    functionsReached:
    - markupsafe.Markup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 378
    functionName: jinja2.runtime.BlockReference.__call__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - markupsafe.Markup
    - jinja2.runtime.BlockReference._async_call
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c9c16d0>
    - <ast.Constant object at 0x7eff4c9c16a0>
    argNames:
    - self
    - iterable
    - undefined
    - recurse
    - depth0
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 404
    functionName: jinja2.runtime.LoopContext.__init__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.LoopContext._to_iterator
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - iterable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 427
    functionName: jinja2.runtime.LoopContext._to_iterator
    functionSourceFile: jinja2.runtime
    functionUses: 2
    functionsReached:
    - <builtin>.iter
    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: 2
    functionLinenumber: 431
    functionName: jinja2.runtime.LoopContext.length
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - jinja2.runtime.LoopContext._to_iterator
    - <builtin>.iter
    - <builtin>.len
    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: 449
    functionName: jinja2.runtime.LoopContext.__len__
    functionSourceFile: jinja2.runtime
    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: 453
    functionName: jinja2.runtime.LoopContext.depth
    functionSourceFile: jinja2.runtime
    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: 458
    functionName: jinja2.runtime.LoopContext.index
    functionSourceFile: jinja2.runtime
    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: 463
    functionName: jinja2.runtime.LoopContext.revindex0
    functionSourceFile: jinja2.runtime
    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: 471
    functionName: jinja2.runtime.LoopContext.revindex
    functionSourceFile: jinja2.runtime
    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: 479
    functionName: jinja2.runtime.LoopContext.first
    functionSourceFile: jinja2.runtime
    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: 483
    functionName: jinja2.runtime.LoopContext._peek_next
    functionSourceFile: jinja2.runtime
    functionUses: 2
    functionsReached:
    - <builtin>.next
    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: 2
    functionLinenumber: 496
    functionName: jinja2.runtime.LoopContext.last
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.LoopContext._peek_next
    - <builtin>.next
    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: 506
    functionName: jinja2.runtime.LoopContext.previtem
    functionSourceFile: jinja2.runtime
    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: 2
    functionLinenumber: 516
    functionName: jinja2.runtime.LoopContext.nextitem
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.LoopContext._peek_next
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 531
    functionName: jinja2.runtime.LoopContext.cycle
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 542
    functionName: jinja2.runtime.LoopContext.changed
    functionSourceFile: jinja2.runtime
    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: 554
    functionName: jinja2.runtime.LoopContext.__iter__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    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: 557
    functionName: jinja2.runtime.LoopContext.__next__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.next
    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: 2
    functionLinenumber: -1
    functionName: jinja2.runtime.LoopContext
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - internal_code.add
    - jinja2.utils.internalcode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - iterable
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 570
    functionName: jinja2.runtime.LoopContext.__call__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    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: 583
    functionName: jinja2.runtime.LoopContext.__repr__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - iterable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 591
    functionName: jinja2.runtime.AsyncLoopContext._to_iterator
    functionSourceFile: jinja2.runtime
    functionUses: 1
    functionsReached:
    - jinja2.async_utils.auto_aiter
    - typing.cast
    - <builtin>.hasattr
    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: 3
    functionLinenumber: 597
    functionName: jinja2.runtime.AsyncLoopContext.length
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.hasattr
    - jinja2.runtime.AsyncLoopContext._to_iterator
    - <builtin>.len
    - jinja2.async_utils.auto_aiter
    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: 611
    functionName: jinja2.runtime.AsyncLoopContext.revindex0
    functionSourceFile: jinja2.runtime
    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: 615
    functionName: jinja2.runtime.AsyncLoopContext.revindex
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    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: 0
    functionLinenumber: 618
    functionName: jinja2.runtime.AsyncLoopContext._peek_next
    functionSourceFile: jinja2.runtime
    functionUses: 2
    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: 630
    functionName: jinja2.runtime.AsyncLoopContext.last
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.AsyncLoopContext._peek_next
    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: 634
    functionName: jinja2.runtime.AsyncLoopContext.nextitem
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.AsyncLoopContext._peek_next
    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: 642
    functionName: jinja2.runtime.AsyncLoopContext.__aiter__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    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: 0
    functionLinenumber: 645
    functionName: jinja2.runtime.AsyncLoopContext.__anext__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c9d19a0>
    argNames:
    - self
    - environment
    - func
    - name
    - arguments
    - catch_kwargs
    - catch_varargs
    - caller
    - default_autoescape
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 661
    functionName: jinja2.runtime.Macro.__init__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    - environment.autoescape
    - <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: environment.autoescape
    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: 2
    functionLinenumber: -1
    functionName: jinja2.runtime.Macro
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - internal_code.add
    - jinja2.utils.internalcode
    - jinja2.utils.pass_eval_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 4
    IfCount: 10
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 692
    functionName: jinja2.runtime.Macro.__call__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.Macro._invoke
    - arguments.append
    - <builtin>.isinstance
    - jinja2.runtime.Macro._async_invoke
    - <builtin>.list
    - <builtin>.len
    - markupsafe.Markup
    - kwargs.pop
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: arguments.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - arguments
    - autoescape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 776
    functionName: jinja2.runtime.Macro._invoke
    functionSourceFile: jinja2.runtime
    functionUses: 1
    functionsReached:
    - markupsafe.Markup
    - jinja2.runtime.Macro._async_invoke
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - arguments
    - autoescape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 768
    functionName: jinja2.runtime.Macro._async_invoke
    functionSourceFile: jinja2.runtime
    functionUses: 2
    functionsReached:
    - markupsafe.Markup
    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: 787
    functionName: jinja2.runtime.Macro.__repr__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c70faf0>
    - <ast.Name object at 0x7eff4c70fac0>
    - <ast.Constant object at 0x7eff4c70fa90>
    - <ast.Name object at 0x7eff4c70fa60>
    argNames:
    - self
    - hint
    - obj
    - name
    - exc
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 814
    functionName: jinja2.runtime.Undefined.__init__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 827
    functionName: jinja2.runtime.Undefined._undefined_message
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - jinja2.utils.object_type_repr
    - <builtin>.type
    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: 2
    functionLinenumber: -1
    functionName: jinja2.runtime.Undefined
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - internal_code.add
    - jinja2.utils.internalcode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 849
    functionName: jinja2.runtime.Undefined._fail_with_undefined_error
    functionSourceFile: jinja2.runtime
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 858
    functionName: jinja2.runtime.Undefined.__getattr__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.Undefined._fail_with_undefined_error
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 875
    functionName: jinja2.runtime.Undefined.__eq__
    functionSourceFile: jinja2.runtime
    functionUses: 1
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 878
    functionName: jinja2.runtime.Undefined.__ne__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.Undefined.__eq__
    - <builtin>.type
    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: 881
    functionName: jinja2.runtime.Undefined.__hash__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.id
    - <builtin>.type
    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: 884
    functionName: jinja2.runtime.Undefined.__str__
    functionSourceFile: jinja2.runtime
    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: 887
    functionName: jinja2.runtime.Undefined.__len__
    functionSourceFile: jinja2.runtime
    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: 890
    functionName: jinja2.runtime.Undefined.__iter__
    functionSourceFile: jinja2.runtime
    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: 893
    functionName: jinja2.runtime.Undefined.__aiter__
    functionSourceFile: jinja2.runtime
    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: 897
    functionName: jinja2.runtime.Undefined.__bool__
    functionSourceFile: jinja2.runtime
    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: 900
    functionName: jinja2.runtime.Undefined.__repr__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c6f4520>
    - <ast.Name object at 0x7eff4c6f44f0>
    argNames:
    - logger
    - base
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 904
    functionName: jinja2.runtime.make_logging_undefined
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - logging.getLogger
    - logging.StreamHandler
    - logger.addHandler
    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: 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: logging.StreamHandler
    functionSourceFile: logging
    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: logger.addHandler
    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:
    - undef
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 932
    functionName: jinja2.runtime.make_logging_undefined._log_message
    functionSourceFile: jinja2.runtime
    functionUses: 3
    functionsReached:
    - logger.warning
    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: logger.warning
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 938
    functionName: jinja2.runtime.make_logging_undefined.LoggingUndefined._fail_with_undefined_error
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - logger.error
    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: logger.error
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 947
    functionName: jinja2.runtime.make_logging_undefined.LoggingUndefined.__str__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - logger.warning
    - <builtin>.super
    - jinja2.runtime.make_logging_undefined._log_message
    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: 2
    functionLinenumber: 951
    functionName: jinja2.runtime.make_logging_undefined.LoggingUndefined.__iter__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - logger.warning
    - <builtin>.super
    - jinja2.runtime.make_logging_undefined._log_message
    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: 2
    functionLinenumber: 955
    functionName: jinja2.runtime.make_logging_undefined.LoggingUndefined.__bool__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - logger.warning
    - <builtin>.super
    - jinja2.runtime.make_logging_undefined._log_message
    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: 980
    functionName: jinja2.runtime.ChainableUndefined.__html__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - _
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 983
    functionName: jinja2.runtime.ChainableUndefined.__getattr__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1005
    functionName: jinja2.runtime.DebugUndefined.__str__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.utils.object_type_repr
    - <builtin>.type
    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: jinja2.async_utils
    functionSourceFile: jinja2.async_utils
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - args
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 24
    functionName: jinja2.async_utils.async_variant.decorator.is_async
    functionSourceFile: jinja2.async_utils
    functionUses: 1
    functionsReached:
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 36
    functionName: jinja2.async_utils.async_variant.decorator.wrapper
    functionSourceFile: jinja2.async_utils
    functionUses: 0
    functionsReached:
    - jinja2.async_utils.async_variant.decorator.is_async
    - typing.cast
    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: inspect.isawaitable
    functionSourceFile: inspect
    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: jinja2.exceptions
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    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 0x7eff4b85a9d0>
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 10
    functionName: jinja2.exceptions.TemplateError.__init__
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: 14
    functionName: jinja2.exceptions.TemplateError.message
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c35cca0>
    argNames:
    - self
    - name
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: jinja2.exceptions.TemplateNotFound.__init__
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - IOError.__init__
    - name._fail_with_undefined_error
    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: IOError.__init__
    functionSourceFile: <builtin>
    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: 1
    functionLinenumber: 49
    functionName: jinja2.exceptions.TemplateNotFound.__str__
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Tuple object at 0x7eff4ce28a60>
    - <ast.Constant object at 0x7eff4ce28b50>
    argNames:
    - self
    - names
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: jinja2.exceptions.TemplatesNotFound.__init__
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.isinstance
    - parts.append
    - <builtin>.list
    - <builtin>.map
    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: parts.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: 5
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ce79370>
    - <ast.Constant object at 0x7eff4ce79760>
    argNames:
    - self
    - message
    - lineno
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: jinja2.exceptions.TemplateSyntaxError.__init__
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: jinja2.exceptions.TemplateSyntaxError.__str__
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    functionsReached:
    - lines.append
    - line.strip
    - typing.cast
    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: line.strip
    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: lines.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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 131
    functionName: jinja2.exceptions.TemplateSyntaxError.__reduce__
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.loaders
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - template
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 24
    functionName: jinja2.loaders.split_template_path
    functionSourceFile: jinja2.loaders
    functionUses: 2
    functionsReached:
    - pieces.append
    - template.split
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    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: template.split
    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: pieces.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environment
    - template
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 74
    functionName: jinja2.loaders.BaseLoader.get_source
    functionSourceFile: jinja2.loaders
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    - RuntimeError
    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: 100
    functionName: jinja2.loaders.BaseLoader.list_templates
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jinja2.loaders.BaseLoader
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - internal_code.add
    - jinja2.utils.internalcode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c4be640>
    argNames:
    - self
    - environment
    - name
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 107
    functionName: jinja2.loaders.BaseLoader.load
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - environment.compile
    - environment.template_class.from_code
    - jinja2.loaders.BaseLoader.get_source
    - bcc.get_bucket
    - bcc.set_bucket
    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: bcc.get_bucket
    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: environment.compile
    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: bcc.set_bucket
    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: environment.template_class.from_code
    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 0x7eff4c29e580>
    - <ast.Constant object at 0x7eff4c29ef70>
    argNames:
    - self
    - searchpath
    - encoding
    - followlinks
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 178
    functionName: jinja2.loaders.FileSystemLoader.__init__
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - os.fspath
    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.fspath
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environment
    - template
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 193
    functionName: jinja2.loaders.FileSystemLoader.get_source
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - posixpath.join
    - <builtin>.open
    - template.split
    - os.path.isfile
    - pieces.append
    - os.path.normpath
    - os.path.getmtime
    - f.read
    - jinja2.loaders.split_template_path
    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: posixpath.join
    functionSourceFile: posixpath
    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.read
    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: os.path.getmtime
    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: 1
    functionLinenumber: 213
    functionName: jinja2.loaders.FileSystemLoader.get_source.uptodate
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - os.path.getmtime
    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.normpath
    functionSourceFile: os
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 222
    functionName: jinja2.loaders.FileSystemLoader.list_templates
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - os.walk
    - os.path.join
    - <builtin>.set
    - <builtin>.len
    - found.add
    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.walk
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: found.add
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ce33be0>
    - <ast.Constant object at 0x7eff4ce33400>
    argNames:
    - self
    - package_name
    - package_path
    - encoding
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 273
    functionName: jinja2.loaders.PackageLoader.__init__
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - os.path.dirname
    - <builtin>.isinstance
    - roots.append
    - <builtin>.iter
    - os.path.join
    - <builtin>.next
    - roots.extend
    - os.path.normpath
    - os.path.isdir
    - importlib.import_module
    - importlib.util.find_spec
    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: importlib.import_module
    functionSourceFile: importlib
    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: importlib.util.find_spec
    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: roots.extend
    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: roots.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environment
    - template
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 332
    functionName: jinja2.loaders.PackageLoader.get_source
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - posixpath.join
    - <builtin>.open
    - template.split
    - source.decode
    - os.path.isfile
    - pieces.append
    - os.path.normpath
    - os.path.getmtime
    - f.read
    - jinja2.loaders.split_template_path
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 353
    functionName: jinja2.loaders.PackageLoader.get_source.up_to_date
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - os.path.getmtime
    - os.path.isfile
    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: source.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 370
    functionName: jinja2.loaders.PackageLoader.list_templates
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - results.extend
    - results.sort
    - results.append
    - name.startswith
    - <builtin>.hasattr
    - os.walk
    - os.path.join
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: results.extend
    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: name.startswith
    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: results.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: -1
    functionName: results.sort
    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
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 412
    functionName: jinja2.loaders.DictLoader.__init__
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environment
    - template
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 415
    functionName: jinja2.loaders.DictLoader.get_source
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    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: jinja2.loaders.DictLoader.get_source.<lambda1>
    functionSourceFile: jinja2.loaders
    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: 423
    functionName: jinja2.loaders.DictLoader.list_templates
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - load_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 445
    functionName: jinja2.loaders.FunctionLoader.__init__
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environment
    - template
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 458
    functionName: jinja2.loaders.FunctionLoader.get_source
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cffc940>
    argNames:
    - self
    - mapping
    - delimiter
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 487
    functionName: jinja2.loaders.PrefixLoader.__init__
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - template
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 493
    functionName: jinja2.loaders.PrefixLoader.get_loader
    functionSourceFile: jinja2.loaders
    functionUses: 2
    functionsReached:
    - template.split
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environment
    - template
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 501
    functionName: jinja2.loaders.PrefixLoader.get_source
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - jinja2.loaders.PrefixLoader.get_loader
    - template.split
    - loader.get_source
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    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: loader.get_source
    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: 2
    functionLinenumber: -1
    functionName: jinja2.loaders.PrefixLoader
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - internal_code.add
    - jinja2.utils.internalcode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cff02e0>
    argNames:
    - self
    - environment
    - name
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 513
    functionName: jinja2.loaders.PrefixLoader.load
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - jinja2.loaders.PrefixLoader.get_loader
    - template.split
    - loader.load
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    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: loader.load
    functionSourceFile: <builtin>
    functionUses: 2
    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: 1
    functionLinenumber: 527
    functionName: jinja2.loaders.PrefixLoader.list_templates
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - result.append
    - loader.list_templates
    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: loader.list_templates
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - loaders
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 549
    functionName: jinja2.loaders.ChoiceLoader.__init__
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environment
    - template
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 552
    functionName: jinja2.loaders.ChoiceLoader.get_source
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - loader.get_source
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jinja2.loaders.ChoiceLoader
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - internal_code.add
    - jinja2.utils.internalcode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cfe5700>
    argNames:
    - self
    - environment
    - name
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 563
    functionName: jinja2.loaders.ChoiceLoader.load
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - loader.load
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 576
    functionName: jinja2.loaders.ChoiceLoader.list_templates
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - loader.list_templates
    - <builtin>.set
    - <builtin>.sorted
    - found.update
    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: found.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 602
    functionName: jinja2.loaders.ModuleLoader.__init__
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - types.ModuleType.__init__
    - <builtin>.isinstance
    - <builtin>.id
    - weakref.proxy
    - os.fspath
    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: types.ModuleType.__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: 1
    functionLinenumber: -1
    functionName: jinja2.loaders.ModuleLoader.__init__.<lambda1>
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - sys.modules.pop
    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.modules.pop
    functionSourceFile: sys
    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: weakref.proxy
    functionSourceFile: weakref
    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:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 630
    functionName: jinja2.loaders.ModuleLoader.get_template_key
    functionSourceFile: jinja2.loaders
    functionUses: 3
    functionsReached:
    - hashlib.sha1
    - name.encode
    - hashlib.sha1.hexdigest
    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: 2
    functionLinenumber: -1
    functionName: jinja2.loaders.ModuleLoader
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - internal_code.add
    - jinja2.utils.internalcode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4cfe8f70>
    argNames:
    - self
    - environment
    - name
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 638
    functionName: jinja2.loaders.ModuleLoader.load
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - environment.template_class.from_module_dict
    - <builtin>.getattr
    - sys.modules.pop
    - hashlib.sha1.hexdigest
    - name.encode
    - hashlib.sha1
    - jinja2.loaders.ModuleLoader.get_template_key
    - <builtin>.__import__
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    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: environment.template_class.from_module_dict
    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: jinja2.debug
    functionSourceFile: jinja2.debug
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7eff4b8f6070>
    argNames:
    - source
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 14
    functionName: jinja2.debug.rewrite_traceback_stack
    functionSourceFile: jinja2.debug
    functionUses: 0
    functionsReached:
    - <builtin>.exec
    - <builtin>.reversed
    - name.startswith
    - <builtin>.compile
    - types.CodeType.replace
    - exc_value.with_traceback
    - real_locals.get
    - real_locals.items
    - template.get_corresponding_lineno
    - ctx.get_all
    - stack.append
    - data.pop
    - sys.exc_info
    - function.startswith
    - <builtin>.int
    - jinja2.debug.fake_traceback
    - local_overrides.get
    - tb.tb_frame.f_globals.get
    - local_overrides.items
    - name.split
    - typing.cast
    - <builtin>.isinstance
    - types.CodeType
    - jinja2.debug.get_template_locals
    - locals.pop
    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.exc_info
    functionSourceFile: sys
    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: exc_value.with_traceback
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - exc_value
    - tb
    - filename
    - lineno
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 76
    functionName: jinja2.debug.fake_traceback
    functionSourceFile: jinja2.debug
    functionUses: 1
    functionsReached:
    - <builtin>.exec
    - local_overrides.get
    - real_locals.get
    - real_locals.items
    - local_overrides.items
    - ctx.get_all
    - types.CodeType
    - name.startswith
    - jinja2.debug.get_template_locals
    - name.split
    - data.pop
    - locals.pop
    - <builtin>.compile
    - types.CodeType.replace
    - sys.exc_info
    - function.startswith
    - <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: tb.tb_frame.f_globals.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: template.get_corresponding_lineno
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - real_locals
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 150
    functionName: jinja2.debug.get_template_locals
    functionSourceFile: jinja2.debug
    functionUses: 2
    functionsReached:
    - local_overrides.get
    - real_locals.get
    - real_locals.items
    - local_overrides.items
    - ctx.get_all
    - name.startswith
    - data.pop
    - name.split
    - <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: locals.pop
    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: <builtin>.compile
    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: function.startswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: types.CodeType.replace
    functionSourceFile: types
    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: types.CodeType
    functionSourceFile: types
    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: real_locals.get
    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: ctx.get_all
    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: real_locals.items
    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: name.split
    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: local_overrides.get
    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: local_overrides.items
    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: data.pop
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.ext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - re.compile
    - jinja2.utils.pass_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 26
    functionName: jinja2.ext._TranslationsBasic.gettext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - singular
    - plural
    - n
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 29
    functionName: jinja2.ext._TranslationsBasic.ngettext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - context
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 33
    functionName: jinja2.ext._TranslationsContext.pgettext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - context
    - singular
    - plural
    - n
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 36
    functionName: jinja2.ext._TranslationsContext.npgettext
    functionSourceFile: jinja2.ext
    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:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 75
    functionName: jinja2.ext.Extension.__init_subclass__
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.ext.Extension
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 88
    functionName: jinja2.ext.Extension.__init__
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: jinja2.ext.Extension.bind
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - object.__new__
    - rv.__dict__.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7eff4b97f9d0>
    argNames:
    - self
    - source
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 98
    functionName: jinja2.ext.Extension.preprocess
    functionSourceFile: jinja2.ext
    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
    - stream
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 107
    functionName: jinja2.ext.Extension.filter_stream
    functionSourceFile: jinja2.ext
    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
    - parser
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 117
    functionName: jinja2.ext.Extension.parse
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4b97c6d0>
    argNames:
    - self
    - name
    - lineno
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 125
    functionName: jinja2.ext.Extension.attr
    functionSourceFile: jinja2.ext
    functionUses: 2
    functionsReached:
    - <builtin>.setattr
    - <builtin>.zip
    - jinja2.nodes.Node.__init__
    - attributes.pop
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7eff4d96a910>
    - <ast.Constant object at 0x7eff4c4a7c70>
    - <ast.Constant object at 0x7eff4c3547f0>
    - <ast.Constant object at 0x7eff4c354220>
    - <ast.Constant object at 0x7eff4c3543a0>
    argNames:
    - self
    - name
    - args
    - kwargs
    - dyn_args
    - dyn_kwargs
    - lineno
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 137
    functionName: jinja2.ext.Extension.call_method
    functionSourceFile: jinja2.ext
    functionUses: 1
    functionsReached:
    - <builtin>.setattr
    - <builtin>.zip
    - jinja2.nodes.Node.__init__
    - <builtin>.len
    - attributes.pop
    - jinja2.ext.Extension.attr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - __context
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 164
    functionName: jinja2.ext._gettext_alias
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - __context.resolve
    - __context.call
    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: __context.resolve
    functionSourceFile: <builtin>
    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:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 170
    functionName: jinja2.ext._make_new_gettext
    functionSourceFile: jinja2.ext
    functionUses: 3
    functionsReached:
    - jinja2.utils.pass_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - __context
    - __string
    - variables
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 172
    functionName: jinja2.ext._make_new_gettext.gettext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - markupsafe.Markup
    - __context.call
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 184
    functionName: jinja2.ext._make_new_ngettext
    functionSourceFile: jinja2.ext
    functionUses: 3
    functionsReached:
    - jinja2.utils.pass_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - __context
    - __singular
    - __plural
    - __num
    - variables
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 186
    functionName: jinja2.ext._make_new_ngettext.ngettext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - markupsafe.Markup
    - __context.call
    - variables.setdefault
    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: variables.setdefault
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 203
    functionName: jinja2.ext._make_new_pgettext
    functionSourceFile: jinja2.ext
    functionUses: 3
    functionsReached:
    - jinja2.utils.pass_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - __context
    - __string_ctx
    - __string
    - variables
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 205
    functionName: jinja2.ext._make_new_pgettext.pgettext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - markupsafe.Markup
    - __context.call
    - variables.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 220
    functionName: jinja2.ext._make_new_npgettext
    functionSourceFile: jinja2.ext
    functionUses: 3
    functionsReached:
    - jinja2.utils.pass_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 6
    argDefaultValues: []
    argNames:
    - __context
    - __string_ctx
    - __singular
    - __plural
    - __num
    - variables
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 224
    functionName: jinja2.ext._make_new_npgettext.npgettext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - markupsafe.Markup
    - __context.call
    - variables.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 257
    functionName: jinja2.ext.InternationalizationExtension.__init__
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - environment.extend
    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: environment.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4beeda90>
    argNames:
    - self
    - translations
    - newstyle
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 269
    functionName: jinja2.ext.InternationalizationExtension._install
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - jinja2.ext._make_new_pgettext
    - <builtin>.getattr
    - jinja2.ext.InternationalizationExtension._install_callables
    - jinja2.utils.pass_context
    - jinja2.ext._make_new_ngettext
    - jinja2.ext._make_new_gettext
    - jinja2.ext._make_new_npgettext
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c872af0>
    - <ast.Constant object at 0x7eff4c872d00>
    - <ast.Constant object at 0x7eff4c872e50>
    argNames:
    - self
    - gettext
    - ngettext
    - newstyle
    - pgettext
    - npgettext
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 315
    functionName: jinja2.ext.InternationalizationExtension._install_callables
    functionSourceFile: jinja2.ext
    functionUses: 2
    functionsReached:
    - jinja2.ext._make_new_pgettext
    - jinja2.utils.pass_context
    - jinja2.ext._make_new_ngettext
    - jinja2.ext._make_new_gettext
    - jinja2.ext._make_new_npgettext
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7eff4ce793d0>
    argNames:
    - self
    - newstyle
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 287
    functionName: jinja2.ext.InternationalizationExtension._install_null
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - jinja2.ext._make_new_pgettext
    - gettext.NullTranslations
    - jinja2.ext.InternationalizationExtension._install_callables
    - jinja2.utils.pass_context
    - jinja2.ext._make_new_ngettext
    - <builtin>.hasattr
    - jinja2.ext._make_new_gettext
    - jinja2.ext._make_new_npgettext
    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: gettext.NullTranslations
    functionSourceFile: gettext
    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:
    - c
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 297
    functionName: jinja2.ext.InternationalizationExtension._install_null.pgettext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - c
    - s
    - p
    - n
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 304
    functionName: jinja2.ext.InternationalizationExtension._install_null.npgettext
    functionSourceFile: jinja2.ext
    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
    - translations
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 339
    functionName: jinja2.ext.InternationalizationExtension._uninstall
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7eff4b994430>
    argNames:
    - self
    - source
    - gettext_functions
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 343
    functionName: jinja2.ext.InternationalizationExtension._extract
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - strings.append
    - <builtin>.tuple
    - <builtin>.len
    - ast.find_all
    - jinja2.ext.extract_from_ast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 7
    IfCount: 7
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7eff4b97a430>
    - <ast.Constant object at 0x7eff4b97a400>
    argNames:
    - ast
    - gettext_functions
    - babel_style
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 654
    functionName: jinja2.ext.extract_from_ast
    functionSourceFile: jinja2.ext
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - strings.append
    - <builtin>.tuple
    - <builtin>.len
    - ast.find_all
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 29
    ICount: 14
    IfCount: 20
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - parser
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 354
    functionName: jinja2.ext.InternationalizationExtension.parse
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - jinja2.ext.InternationalizationExtension._parse_block
    - <builtin>.bool
    - jinja2.nodes.Node.__init__
    - parser.parse_expression
    - <builtin>.set
    - node.iter_child_nodes
    - parser.stream.skip_if
    - _ws_re.sub
    - parser.stream.current.test
    - collections.deque.extend
    - <builtin>.zip
    - parser.stream.current.value.replace
    - singular.replace
    - attributes.pop
    - variables.items
    - referenced.update
    - buf.append
    - referenced.append
    - func_args.insert
    - <builtin>.setattr
    - string.strip
    - jinja2.nodes.Node.set_lineno
    - jinja2.ext.InternationalizationExtension._make_node
    - plural.replace
    - parser.stream.expect
    - func_args.extend
    - <builtin>.next
    - <builtin>.len
    - <builtin>.isinstance
    - jinja2.ext.InternationalizationExtension._trim_whitespace
    - collections.deque.popleft
    - parser.stream.next_if
    - node.kwargs.append
    - collections.deque
    - parser.fail
    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: parser.stream.next_if
    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: parser.stream.expect
    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: parser.stream.skip_if
    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: parser.fail
    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: parser.parse_expression
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 12
    IfCount: 8
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - parser
    - allow_pluralize
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 479
    functionName: jinja2.ext.InternationalizationExtension._parse_block
    functionSourceFile: jinja2.ext
    functionUses: 1
    functionsReached:
    - buf.append
    - referenced.append
    - parser.stream.current.value.replace
    - parser.stream.expect
    - <builtin>.next
    - parser.fail
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: referenced.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.stream.current.test
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7eff4b988040>
    argNames:
    - self
    - string
    - _ws_re
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 476
    functionName: jinja2.ext.InternationalizationExtension._trim_whitespace
    functionSourceFile: jinja2.ext
    functionUses: 1
    functionsReached:
    - string.strip
    - _ws_re.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 4
    IfCount: 7
    argCount: 8
    argDefaultValues: []
    argNames:
    - self
    - singular
    - plural
    - context
    - variables
    - plural_expr
    - vars_referenced
    - num_called_num
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 526
    functionName: jinja2.ext.InternationalizationExtension._make_node
    functionSourceFile: jinja2.ext
    functionUses: 1
    functionsReached:
    - func_args.insert
    - <builtin>.setattr
    - <builtin>.zip
    - plural.replace
    - singular.replace
    - func_args.extend
    - jinja2.nodes.Node.__init__
    - <builtin>.len
    - node.kwargs.append
    - attributes.pop
    - variables.items
    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: string.strip
    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: _ws_re.sub
    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: parser.stream.current.value.replace
    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: referenced.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: singular.replace
    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: plural.replace
    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: func_args.insert
    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: func_args.extend
    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: variables.items
    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: node.kwargs.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - parser
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 596
    functionName: jinja2.ext.ExprStmtExtension.parse
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    - <builtin>.zip
    - jinja2.nodes.Node.__init__
    - <builtin>.len
    - parser.parse_tuple
    - <builtin>.next
    - attributes.pop
    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: parser.parse_tuple
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - parser
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 607
    functionName: jinja2.ext.LoopControlExtension.parse
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    - <builtin>.zip
    - jinja2.nodes.Node.__init__
    - <builtin>.len
    - <builtin>.next
    - attributes.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - parser
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 637
    functionName: jinja2.ext.DebugExtension.parse
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    - <builtin>.zip
    - parser.stream.expect
    - jinja2.nodes.Node.__init__
    - <builtin>.len
    - jinja2.ext.Extension.call_method
    - attributes.pop
    - jinja2.ext.Extension.attr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 643
    functionName: jinja2.ext.DebugExtension._render
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - context.get_all
    - pprint.pformat
    - <builtin>.sorted
    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: context.get_all
    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: ast.find_all
    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: strings.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - tokens
    - comment_tags
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 740
    functionName: jinja2.ext._CommentFinder.__init__
    functionSourceFile: jinja2.ext
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - offset
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 748
    functionName: jinja2.ext._CommentFinder.find_backwards
    functionSourceFile: jinja2.ext
    functionUses: 2
    functionsReached:
    - comment.rstrip
    - <builtin>.reversed
    - token_value.split
    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: token_value.split
    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: comment.rstrip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - lineno
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 764
    functionName: jinja2.ext._CommentFinder.find_comments
    functionSourceFile: jinja2.ext
    functionUses: 1
    functionsReached:
    - token_value.split
    - <builtin>.reversed
    - <builtin>.enumerate
    - <builtin>.len
    - comment.rstrip
    - jinja2.ext._CommentFinder.find_backwards
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - fileobj
    - keywords
    - comment_tags
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 21
    functionLinenumber: 773
    functionName: jinja2.ext.babel_extract
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - fileobj.read
    - <builtin>.getattr
    - jinja2.parser.Parser.parse_or
    - jinja2.environment.load_extensions
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - jinja2.utils.import_string
    - jinja2.ext._CommentFinder.find_comments
    - jinja2.lexer.TokenStream.look
    - node.iter_child_nodes
    - jinja2.nodes.Expr.can_assign
    - jinja2.parser.Parser.parse_filter_block
    - jinja2.ext.extract_from_ast
    - args.append
    - <builtin>.str
    - collections.deque.extend
    - <builtin>.sorted
    - jinja2.parser.Parser.parse_test
    - <builtin>.list
    - attributes.pop
    - jinja2.parser.Parser.parse_call_block
    - <builtin>.any
    - message.append
    - jinja2.parser.Parser.parse_not
    - <builtin>.setattr
    - strings.append
    - DEFAULT_POLICIES.copy
    - expected.update
    - threading.Lock
    - jinja2.lexer.Token.test
    - jinja2.ext._CommentFinder.find_backwards
    - ast.find_all
    - jinja2.lexer.TokenStream.skip_if
    - typing.cast
    - body.extend
    - body.append
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.fail
    - collections.deque
    - jinja2.lexer.TokenStream.expect
    - kwargs.append
    - jinja2.parser.Parser._fail_ut_eof
    - DEFAULT_FILTERS.copy
    - comment.rstrip
    - typing.NamedTuple.__init__
    - <builtin>.range
    - DEFAULT_NAMESPACE.copy
    - stack.append
    - jinja2.parser.Parser.parse_concat
    - buf.append
    - jinja2.parser.Parser.subparse
    - ext.filter_stream
    - jinja2.parser.Parser.is_tuple_end
    - items.append
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - jinja2.nodes.Name.can_assign
    - jinja2.parser.Parser.parse_math1
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_signature
    - jinja2.utils.LRUCache.__init__
    - jinja2.nodes.Node.set_environment
    - <builtin>.reversed
    - jinja2.parser.Parser.parse_tuple
    - <builtin>.issubclass
    - jinja2.parser.Parser.subparse.flush_data
    - DEFAULT_TESTS.copy
    - jinja2.environment.Environment.handle_exception
    - jinja2.parser.Parser.parse_statements
    - item.can_assign
    - jinja2.ext._CommentFinder.__init__
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.describe_token
    - <builtin>.zip
    - <builtin>.type
    - options.get
    - ops.append
    - jinja2.environment.Environment.preprocess
    - jinja2.parser.Parser.parse
    - <builtin>.map
    - jinja2.environment.Environment.iter_extensions
    - import_name.rpartition
    - jinja2.parser.Parser.parse_and
    - jinja2.utils.LRUCache._postinit
    - jinja2.environment.Environment.__init__
    - jinja2.parser.Parser.parse_call
    - <builtin>.tuple
    - jinja2.nodes.NSRef.can_assign
    - <builtin>.next
    - jinja2.nodes.Tuple.can_assign
    - jinja2.parser.Parser.parse_filter_expr
    - <builtin>.len
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_expression
    - jinja2.environment.Environment.lex
    - token_value.split
    - jinja2.environment.Environment._parse
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.__init__
    - jinja2.lexer.Token.test_any
    - expr.split
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_filter
    - jinja2.ext.babel_extract.getbool
    - jinja2.parser.Parser.fail_eof
    - jinja2.environment.create_cache
    - jinja2.parser.Parser.parse_statement
    - functools.reduce
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_subscript
    - <builtin>.enumerate
    - defaults.append
    - jinja2.parser.Parser.parse_list
    - <builtin>.iter
    - jinja2.environment.Environment.parse
    - jinja2.parser.Parser.parse_dict
    - jinja2.nodes.Node.set_ctx
    - <builtin>.__import__
    - jinja2.lexer.TokenStream.skip
    - <builtin>.isinstance
    - jinja2.environment._environment_config_check
    - jinja2.parser.Parser.parse_pow
    - import_name.split
    - extension_name.strip
    - jinja2.environment.Environment._tokenize
    - jinja2.lexer.TokenStream.__init__
    - jinja2.lexer.describe_token_expr
    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: 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: extension_name.strip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7eff4c4d6f70>
    argNames:
    - options
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 823
    functionName: jinja2.ext.babel_extract.getbool
    functionSourceFile: jinja2.ext
    functionUses: 1
    functionsReached:
    - options.get
    - <builtin>.str
    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: fileobj.read
    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: jinja2.nativetypes
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - values
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 16
    functionName: jinja2.nativetypes.native_concat
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - ast.parse
    - <builtin>.isinstance
    - itertools.islice
    - ast.literal_eval
    - itertools.chain
    - <builtin>.list
    - <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: itertools.islice
    functionSourceFile: itertools
    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: ast.parse
    functionSourceFile: ast
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 56
    functionName: jinja2.nativetypes.NativeCodeGenerator._default_finalize
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - group
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 59
    functionName: jinja2.nativetypes.NativeCodeGenerator._output_const_repr
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    - finalize
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 62
    functionName: jinja2.nativetypes.NativeCodeGenerator._output_child_to_const
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached:
    - <builtin>.all
    - <builtin>.type
    - <builtin>.isinstance
    - value.items
    - finalize.const
    - jinja2.compiler.has_safe_repr
    - node.as_const
    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: finalize.const
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    - finalize
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 75
    functionName: jinja2.nativetypes.NativeCodeGenerator._output_child_pre
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached:
    - io.StringIO.write
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    - finalize
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 81
    functionName: jinja2.nativetypes.NativeCodeGenerator._output_child_post
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached:
    - io.StringIO.write
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.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: 1
    functionLinenumber: -1
    functionName: jinja2.nativetypes.NativeEnvironment
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached:
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 98
    functionName: jinja2.nativetypes.NativeTemplate.render
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - jinja2.environment.Template.new_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 114
    functionName: jinja2.nativetypes.NativeTemplate.render_async
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - jinja2.environment.Template.new_context
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.meta
    functionSourceFile: jinja2.meta
    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
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 17
    functionName: jinja2.meta.TrackingCodeGenerator.__init__
    functionSourceFile: jinja2.meta
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - ast
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 33
    functionName: jinja2.meta.find_undeclared_variables
    functionSourceFile: jinja2.meta
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.nodes.Node.__init__
    - <builtin>.set
    - node.iter_child_nodes
    - jinja2.compiler.has_safe_repr
    - jinja2.visitor.NodeVisitor.generic_visit
    - <builtin>.zip
    - <builtin>.type
    - jinja2.meta.TrackingCodeGenerator.__init__
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - attributes.pop
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.super
    - <builtin>.all
    - <builtin>.setattr
    - <builtin>.len
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.isinstance
    - jinja2.optimizer.Optimizer.generic_visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 7
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - ast
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 61
    functionName: jinja2.meta.find_referenced_templates
    functionSourceFile: jinja2.meta
    functionUses: 0
    functionsReached:
    - ast.find_all
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_jinja_compile_expr':
  - 40
  - 41
  - 18
  '...fuzz_jinja_compile_expr.TestOneInput':
  - 25
  - 22
  - 23
  '...fuzz_jinja_compile_expr.main':
  - 37
  - 38
  jinja2:
  - 1
  jinja2._identifier:
  - 4
  jinja2.async_utils:
  - 56
  - 9
  jinja2.async_utils.async_variant.decorator:
  - 32
  - 34
  - 35
  - 14
  - 47
  - 48
  - 17
  jinja2.async_utils.async_variant.decorator.is_async:
  - 25
  - 20
  jinja2.async_utils.async_variant.decorator.wrapper:
  - 37
  - 39
  - 42
  - 43
  - 45
  jinja2.async_utils.auto_aiter:
  - 73
  - 74
  - 75
  - 77
  - 78
  jinja2.async_utils.auto_await:
  - 64
  - 65
  - 67
  - 61
  - 62
  jinja2.async_utils.auto_to_list:
  - 84
  jinja2.bccache:
  - 40
  - 1
  - 21
  - 39
  jinja2.bccache.Bucket:
  - 45
  jinja2.bccache.Bucket.__init__:
  - 57
  jinja2.bccache.Bucket.bytecode_from_string:
  - 91
  - 92
  jinja2.bccache.Bucket.bytecode_to_string:
  - 96
  - 97
  - 98
  - 95
  jinja2.bccache.Bucket.load_bytecode:
  - 64
  - 66
  - 67
  - 68
  - 71
  - 72
  - 73
  - 77
  - 79
  jinja2.bccache.Bucket.reset:
  - 60
  jinja2.bccache.Bucket.write_bytecode:
  - 83
  - 84
  - 86
  - 87
  - 88
  jinja2.bccache.BytecodeCache:
  - 102
  jinja2.bccache.BytecodeCache.clear:
  - 145
  jinja2.bccache.BytecodeCache.dump_bytecode:
  - 138
  jinja2.bccache.BytecodeCache.get_bucket:
  - 172
  - 175
  - 176
  - 177
  - 178
  jinja2.bccache.BytecodeCache.get_cache_key:
  - 153
  - 154
  - 156
  - 157
  - 159
  jinja2.bccache.BytecodeCache.get_source_checksum:
  - 162
  - 163
  jinja2.bccache.BytecodeCache.load_bytecode:
  - 131
  jinja2.bccache.BytecodeCache.set_bucket:
  - 182
  - 183
  jinja2.bccache.FileSystemBytecodeCache:
  - 187
  jinja2.bccache.FileSystemBytecodeCache.__init__:
  - 208
  - 207
  jinja2.bccache.FileSystemBytecodeCache._get_cache_filename:
  - 260
  jinja2.bccache.FileSystemBytecodeCache._get_default_cache_dir:
  - 219
  - 223
  - 225
  - 226
  - 228
  - 229
  - 232
  - 234
  - 237
  - 238
  - 239
  - 240
  - 241
  - 242
  - 244
  - 246
  - 249
  - 250
  - 251
  - 252
  - 253
  - 255
  jinja2.bccache.FileSystemBytecodeCache.clear:
  - 321
  - 322
  - 324
  jinja2.bccache.FileSystemBytecodeCache.dump_bytecode:
  - 300
  - 302
  - 306
  - 310
  - 312
  - 281
  - 282
  - 284
  - 285
  jinja2.bccache.FileSystemBytecodeCache.dump_bytecode.remove_silent:
  - 292
  jinja2.bccache.FileSystemBytecodeCache.load_bytecode:
  - 275
  - 268
  - 263
  jinja2.bccache.MemcachedBytecodeCache:
  - 330
  jinja2.bccache.MemcachedBytecodeCache.dump_bytecode:
  - 397
  - 400
  - 401
  - 403
  - 405
  jinja2.bccache.MemcachedBytecodeCache.load_bytecode:
  - 393
  - 388
  - 390
  jinja2.bccache._MemcachedClient.get:
  - 27
  jinja2.bccache._MemcachedClient.set:
  - 30
  jinja2.compiler:
  - 1
  - 29
  - 25
  jinja2.compiler.CodeGenerator:
  - 1670
  - 1671
  - 1672
  - 1673
  - 1674
  - 1675
  - 1676
  - 1677
  - 1678
  - 1679
  - 1680
  - 1681
  jinja2.compiler.CodeGenerator.__init__:
  - 320
  - 321
  - 310
  - 311
  jinja2.compiler.CodeGenerator._default_finalize:
  - 1371
  - 1367
  jinja2.compiler.CodeGenerator._filter_test_common:
  - 1760
  - 1761
  - 1792
  - 1763
  - 1764
  - 1788
  - 1769
  - 1789
  - 1771
  - 1773
  - 1778
  - 1791
  - 1781
  - 1782
  - 1786
  - 1756
  - 1757
  - 1759
  jinja2.compiler.CodeGenerator._import_common:
  - 1088
  - 1089
  - 1090
  - 1093
  - 1083
  - 1084
  - 1085
  - 1087
  jinja2.compiler.CodeGenerator._make_finalize:
  - 1376
  - 1415
  - 1388
  - 1420
  - 1395
  - 1398
  - 1403
  - 1407
  jinja2.compiler.CodeGenerator._make_finalize.finalize:
  - 1410
  - 1418
  jinja2.compiler.CodeGenerator._output_child_post:
  - 1473
  - 1475
  - 1476
  - 1470
  jinja2.compiler.CodeGenerator._output_child_pre:
  - 1454
  - 1457
  - 1458
  - 1459
  - 1460
  - 1462
  - 1464
  - 1465
  jinja2.compiler.CodeGenerator._output_child_to_const:
  - 1440
  - 1442
  - 1443
  - 1446
  - 1447
  - 1449
  - 1433
  jinja2.compiler.CodeGenerator._output_const_repr:
  - 1424
  - 1428
  jinja2.compiler.CodeGenerator.blockvisit:
  - 448
  - 449
  - 443
  - 447
  jinja2.compiler.CodeGenerator.buffer:
  - 392
  - 390
  - 391
  jinja2.compiler.CodeGenerator.derive_context:
  - 769
  jinja2.compiler.CodeGenerator.dump_local_context:
  - 714
  - 716
  jinja2.compiler.CodeGenerator.end_write:
  - 432
  - 430
  - 431
  jinja2.compiler.CodeGenerator.enter_frame:
  - 583
  - 584
  - 586
  - 587
  - 588
  - 589
  - 590
  - 591
  - 594
  - 595
  jinja2.compiler.CodeGenerator.fail:
  - 381
  jinja2.compiler.CodeGenerator.func:
  - 609
  jinja2.compiler.CodeGenerator.get_resolve_func:
  - 764
  jinja2.compiler.CodeGenerator.indent:
  - 415
  jinja2.compiler.CodeGenerator.leave_frame:
  - 598
  - 600
  - 601
  - 602
  - 603
  jinja2.compiler.CodeGenerator.macro_body:
  - 641
  - 643
  - 650
  - 652
  - 653
  - 655
  - 656
  - 661
  - 662
  - 663
  - 665
  - 666
  - 668
  - 669
  - 670
  - 671
  - 672
  - 674
  - 676
  - 681
  - 682
  - 683
  - 684
  - 685
  - 687
  - 688
  - 689
  - 690
  - 614
  - 615
  - 616
  - 617
  - 620
  - 623
  - 624
  - 626
  - 627
  - 628
  - 630
  - 632
  - 639
  jinja2.compiler.CodeGenerator.macro_def:
  - 695
  - 696
  - 697
  - 698
  - 700
  jinja2.compiler.CodeGenerator.mark_parameter_stored:
  - 747
  - 750
  - 751
  jinja2.compiler.CodeGenerator.newline:
  - 475
  - 476
  - 477
  jinja2.compiler.CodeGenerator.outdent:
  - 419
  jinja2.compiler.CodeGenerator.parameter_is_undeclared:
  - 772
  - 773
  jinja2.compiler.CodeGenerator.pop_assign_tracking:
  - 782
  - 785
  - 786
  - 794
  - 795
  - 796
  - 797
  - 798
  - 800
  - 801
  - 803
  - 805
  - 806
  - 807
  - 808
  - 810
  - 811
  - 812
  - 813
  - 814
  - 815
  - 816
  - 817
  - 818
  - 819
  - 821
  - 822
  jinja2.compiler.CodeGenerator.pop_context_reference:
  - 757
  jinja2.compiler.CodeGenerator.pop_parameter_definitions:
  - 744
  - 743
  jinja2.compiler.CodeGenerator.position:
  - 707
  - 709
  jinja2.compiler.CodeGenerator.pull_dependencies:
  - 539
  - 549
  - 551
  - 552
  - 554
  - 559
  - 560
  - 561
  - 565
  - 566
  - 567
  - 568
  - 569
  - 570
  - 571
  - 572
  - 573
  - 574
  - 578
  - 579
  jinja2.compiler.CodeGenerator.push_assign_tracking:
  - 778
  - 779
  jinja2.compiler.CodeGenerator.push_context_reference:
  - 754
  jinja2.compiler.CodeGenerator.push_parameter_definitions:
  - 740
  - 734
  jinja2.compiler.CodeGenerator.return_buffer_contents:
  - 397
  - 398
  - 399
  - 400
  - 401
  - 402
  - 403
  - 404
  - 405
  - 406
  - 407
  - 409
  - 410
  - 412
  jinja2.compiler.CodeGenerator.signature:
  - 512
  - 513
  - 515
  - 516
  - 517
  - 519
  - 520
  - 521
  - 522
  - 523
  - 524
  - 525
  - 526
  - 527
  - 528
  - 529
  - 530
  - 532
  - 534
  - 535
  - 536
  - 487
  - 495
  - 496
  - 497
  - 500
  - 501
  - 502
  - 504
  - 505
  - 506
  - 507
  - 508
  - 509
  - 510
  - 511
  jinja2.compiler.CodeGenerator.simple_write:
  - 440
  - 437
  - 438
  - 439
  jinja2.compiler.CodeGenerator.start_write:
  - 424
  - 425
  - 427
  - 423
  jinja2.compiler.CodeGenerator.temporary_identifier:
  - 385
  jinja2.compiler.CodeGenerator.visit_Assign:
  - 1558
  - 1559
  - 1560
  - 1561
  - 1562
  - 1563
  jinja2.compiler.CodeGenerator.visit_AssignBlock:
  - 1572
  - 1573
  - 1574
  - 1575
  - 1576
  - 1577
  - 1578
  - 1579
  - 1580
  - 1582
  - 1583
  - 1584
  - 1585
  - 1566
  - 1567
  jinja2.compiler.CodeGenerator.visit_Block:
  - 945
  - 947
  - 950
  - 952
  - 953
  - 954
  - 957
  - 958
  - 960
  - 962
  - 963
  - 964
  - 965
  - 969
  - 971
  - 972
  - 976
  - 977
  - 981
  - 982
  - 983
  - 985
  jinja2.compiler.CodeGenerator.visit_Break:
  - 1910
  jinja2.compiler.CodeGenerator.visit_Call:
  - 1856
  - 1857
  - 1858
  - 1859
  - 1860
  - 1843
  - 1844
  - 1845
  - 1846
  - 1848
  - 1849
  - 1853
  - 1854
  - 1855
  jinja2.compiler.CodeGenerator.visit_CallBlock:
  - 1327
  - 1328
  - 1329
  - 1330
  - 1331
  - 1332
  jinja2.compiler.CodeGenerator.visit_Compare:
  - 1699
  - 1700
  - 1701
  - 1702
  - 1703
  jinja2.compiler.CodeGenerator.visit_Concat:
  - 1685
  - 1687
  - 1691
  - 1692
  - 1693
  - 1694
  - 1695
  jinja2.compiler.CodeGenerator.visit_CondExpr:
  - 1831
  - 1832
  - 1833
  - 1834
  - 1835
  - 1836
  - 1837
  - 1818
  jinja2.compiler.CodeGenerator.visit_CondExpr.write_expr2:
  - 1825
  - 1827
  - 1821
  - 1822
  jinja2.compiler.CodeGenerator.visit_Const:
  - 1633
  - 1629
  - 1630
  - 1631
  jinja2.compiler.CodeGenerator.visit_ContextReference:
  - 1899
  jinja2.compiler.CodeGenerator.visit_Continue:
  - 1907
  jinja2.compiler.CodeGenerator.visit_DerivedContextReference:
  - 1904
  jinja2.compiler.CodeGenerator.visit_Dict:
  - 1664
  - 1665
  - 1666
  - 1667
  - 1668
  - 1661
  - 1662
  - 1663
  jinja2.compiler.CodeGenerator.visit_EnvironmentAttribute:
  - 1883
  jinja2.compiler.CodeGenerator.visit_EvalContextModifier:
  - 1936
  - 1937
  - 1938
  - 1940
  - 1944
  jinja2.compiler.CodeGenerator.visit_ExprStmt:
  - 1358
  - 1359
  jinja2.compiler.CodeGenerator.visit_Extends:
  - 995
  - 1000
  - 1001
  - 1002
  - 1003
  - 1007
  - 1010
  - 1012
  - 1013
  - 1014
  - 1015
  - 1016
  - 1017
  - 1018
  - 988
  - 989
  - 990
  - 1023
  jinja2.compiler.CodeGenerator.visit_ExtensionAttribute:
  - 1888
  jinja2.compiler.CodeGenerator.visit_Filter:
  - 1796
  - 1799
  - 1800
  - 1801
  - 1802
  - 1806
  - 1807
  - 1809
  jinja2.compiler.CodeGenerator.visit_FilterBlock:
  - 1335
  - 1336
  - 1337
  - 1338
  - 1339
  - 1340
  - 1341
  - 1342
  - 1343
  jinja2.compiler.CodeGenerator.visit_For:
  - 1157
  - 1159
  - 1160
  - 1168
  - 1169
  - 1173
  - 1174
  - 1176
  - 1177
  - 1178
  - 1180
  - 1181
  - 1182
  - 1183
  - 1184
  - 1185
  - 1186
  - 1187
  - 1188
  - 1189
  - 1190
  - 1191
  - 1192
  - 1193
  - 1194
  - 1195
  - 1196
  - 1197
  - 1198
  - 1199
  - 1204
  - 1205
  - 1206
  - 1208
  - 1209
  - 1216
  - 1217
  - 1219
  - 1220
  - 1221
  - 1226
  - 1227
  - 1228
  - 1230
  - 1231
  - 1232
  - 1233
  - 1235
  - 1237
  - 1238
  - 1239
  - 1240
  - 1242
  - 1243
  - 1244
  - 1245
  - 1246
  - 1247
  - 1248
  - 1250
  - 1251
  - 1253
  - 1255
  - 1256
  - 1258
  - 1259
  - 1260
  - 1261
  - 1262
  - 1263
  - 1267
  - 1268
  - 1269
  - 1270
  - 1271
  - 1272
  - 1273
  - 1277
  - 1278
  - 1279
  - 1280
  - 1281
  - 1282
  - 1283
  - 1284
  - 1285
  - 1286
  - 1287
  - 1288
  - 1292
  - 1293
  jinja2.compiler.CodeGenerator.visit_FromImport:
  - 1152
  - 1107
  - 1108
  - 1109
  - 1110
  - 1113
  - 1114
  - 1118
  - 1119
  - 1122
  - 1123
  - 1126
  - 1129
  - 1130
  - 1132
  - 1133
  - 1134
  - 1135
  - 1136
  - 1138
  - 1139
  - 1141
  - 1143
  - 1144
  - 1146
  - 1147
  - 1148
  - 1149
  - 1151
  jinja2.compiler.CodeGenerator.visit_Getattr:
  - 1711
  - 1712
  - 1714
  - 1715
  - 1716
  - 1718
  - 1719
  jinja2.compiler.CodeGenerator.visit_Getitem:
  - 1728
  - 1730
  - 1731
  - 1733
  - 1734
  - 1735
  - 1736
  - 1737
  - 1739
  - 1740
  - 1724
  - 1725
  - 1726
  - 1727
  jinja2.compiler.CodeGenerator.visit_If:
  - 1296
  - 1297
  - 1298
  - 1299
  - 1300
  - 1301
  - 1302
  - 1303
  - 1304
  - 1305
  - 1306
  - 1307
  - 1308
  - 1309
  - 1310
  - 1311
  - 1312
  - 1313
  - 1314
  jinja2.compiler.CodeGenerator.visit_Import:
  - 1096
  - 1097
  - 1098
  - 1099
  - 1101
  - 1103
  - 1104
  jinja2.compiler.CodeGenerator.visit_ImportedName:
  - 1891
  jinja2.compiler.CodeGenerator.visit_Include:
  - 1030
  - 1031
  - 1032
  - 1033
  - 1036
  - 1037
  - 1039
  - 1041
  - 1044
  - 1045
  - 1046
  - 1047
  - 1048
  - 1049
  - 1050
  - 1051
  - 1052
  - 1053
  - 1054
  - 1057
  - 1058
  - 1059
  - 1061
  - 1063
  - 1064
  - 1069
  - 1072
  - 1073
  - 1074
  - 1075
  - 1077
  - 1078
  jinja2.compiler.CodeGenerator.visit_InternalName:
  - 1894
  jinja2.compiler.CodeGenerator.visit_Keyword:
  - 1864
  - 1863
  jinja2.compiler.CodeGenerator.visit_List:
  - 1653
  - 1654
  - 1655
  - 1656
  - 1657
  - 1658
  jinja2.compiler.CodeGenerator.visit_Macro:
  - 1317
  - 1318
  - 1319
  - 1320
  - 1321
  - 1322
  - 1323
  - 1324
  jinja2.compiler.CodeGenerator.visit_MarkSafe:
  - 1869
  - 1870
  - 1871
  jinja2.compiler.CodeGenerator.visit_MarkSafeIfAutoescape:
  - 1876
  - 1877
  - 1878
  jinja2.compiler.CodeGenerator.visit_NSRef:
  - 1618
  - 1619
  - 1620
  - 1621
  - 1625
  - 1626
  jinja2.compiler.CodeGenerator.visit_Name:
  - 1600
  - 1601
  - 1602
  - 1605
  - 1607
  - 1612
  - 1590
  - 1593
  - 1594
  - 1595
  jinja2.compiler.CodeGenerator.visit_Operand:
  - 1706
  - 1707
  jinja2.compiler.CodeGenerator.visit_Output:
  - 1537
  - 1538
  - 1540
  - 1543
  - 1544
  - 1545
  - 1547
  - 1548
  - 1550
  - 1551
  - 1552
  - 1554
  - 1555
  - 1480
  - 1482
  - 1485
  - 1486
  - 1488
  - 1494
  - 1496
  - 1502
  - 1506
  - 1511
  - 1514
  - 1515
  - 1517
  - 1519
  - 1520
  - 1521
  - 1523
  - 1525
  - 1527
  - 1528
  - 1530
  - 1532
  - 1533
  - 1535
  jinja2.compiler.CodeGenerator.visit_OverlayScope:
  - 1920
  - 1921
  - 1922
  - 1923
  - 1924
  - 1926
  - 1927
  - 1928
  - 1929
  - 1930
  - 1931
  jinja2.compiler.CodeGenerator.visit_Scope:
  - 1913
  - 1914
  - 1915
  - 1916
  - 1917
  jinja2.compiler.CodeGenerator.visit_ScopedEvalContextModifier:
  - 1952
  - 1953
  - 1954
  - 1955
  - 1956
  - 1949
  - 1950
  - 1951
  jinja2.compiler.CodeGenerator.visit_Slice:
  - 1743
  - 1744
  - 1745
  - 1746
  - 1747
  - 1748
  - 1749
  - 1750
  jinja2.compiler.CodeGenerator.visit_Template:
  - 896
  - 897
  - 898
  - 899
  - 901
  - 904
  - 905
  - 906
  - 907
  - 910
  - 911
  - 912
  - 916
  - 917
  - 921
  - 923
  - 924
  - 925
  - 926
  - 927
  - 928
  - 929
  - 930
  - 932
  - 933
  - 934
  - 935
  - 936
  - 937
  - 939
  - 940
  - 941
  - 942
  - 830
  - 834
  - 835
  - 837
  - 839
  - 847
  - 850
  - 851
  - 852
  - 856
  - 857
  - 859
  - 860
  - 861
  - 862
  - 864
  - 867
  - 870
  - 871
  - 873
  - 874
  - 877
  - 878
  - 879
  - 880
  - 881
  - 884
  - 885
  - 886
  - 887
  - 888
  - 889
  - 890
  - 893
  - 894
  - 895
  jinja2.compiler.CodeGenerator.visit_TemplateData:
  - 1637
  - 1639
  jinja2.compiler.CodeGenerator.visit_Test:
  - 1813
  - 1814
  jinja2.compiler.CodeGenerator.visit_Tuple:
  - 1644
  - 1646
  - 1647
  - 1648
  - 1649
  - 1650
  jinja2.compiler.CodeGenerator.visit_With:
  - 1346
  - 1347
  - 1348
  - 1349
  - 1350
  - 1351
  - 1352
  - 1353
  - 1354
  - 1355
  jinja2.compiler.CodeGenerator.write:
  - 454
  - 455
  - 456
  - 457
  - 459
  - 460
  - 463
  - 465
  jinja2.compiler.CodeGenerator.write_commons:
  - 721
  - 725
  - 726
  - 727
  - 730
  - 731
  jinja2.compiler.CodeGenerator.writeline:
  - 472
  - 470
  - 471
  jinja2.compiler.CompilerExit:
  - 294
  jinja2.compiler.DependencyFinderVisitor:
  - 253
  jinja2.compiler.DependencyFinderVisitor.__init__:
  - 256
  - 257
  jinja2.compiler.DependencyFinderVisitor.visit_Block:
  - 268
  jinja2.compiler.DependencyFinderVisitor.visit_Filter:
  - 260
  - 261
  jinja2.compiler.DependencyFinderVisitor.visit_Test:
  - 264
  - 265
  jinja2.compiler.Frame:
  - 166
  jinja2.compiler.Frame.__init__:
  - 196
  - 179
  - 180
  jinja2.compiler.Frame.copy:
  - 220
  - 221
  - 222
  - 223
  jinja2.compiler.Frame.inner:
  - 227
  - 228
  - 229
  - 230
  jinja2.compiler.Frame.soft:
  - 240
  - 233
  jinja2.compiler.UndeclaredNameVisitor:
  - 272
  jinja2.compiler.UndeclaredNameVisitor.__init__:
  - 278
  - 279
  jinja2.compiler.UndeclaredNameVisitor.visit_Block:
  - 290
  jinja2.compiler.UndeclaredNameVisitor.visit_Name:
  - 282
  - 283
  - 284
  - 287
  jinja2.compiler.VisitorExit:
  - 249
  jinja2.compiler._make_binop.visitor:
  - 66
  - 67
  - 68
  - 69
  - 71
  - 72
  - 73
  - 74
  - 76
  - 62
  jinja2.compiler._make_unop.visitor:
  - 96
  - 86
  - 90
  - 91
  - 93
  - 94
  jinja2.compiler.find_undeclared:
  - 145
  - 148
  - 150
  - 151
  jinja2.compiler.generate:
  - 110
  - 111
  - 114
  - 117
  - 119
  - 120
  jinja2.compiler.has_safe_repr:
  - 130
  - 133
  - 134
  - 136
  - 137
  - 126
  - 127
  jinja2.compiler.optimizeconst:
  - 56
  jinja2.compiler.optimizeconst.new_func:
  - 48
  - 49
  - 51
  - 52
  - 54
  jinja2.debug:
  - 10
  jinja2.debug.fake_traceback:
  - 105
  - 79
  - 113
  - 145
  - 147
  - 116
  - 118
  - 121
  - 122
  - 91
  - 124
  - 94
  - 95
  jinja2.debug.get_template_locals:
  - 168
  - 169
  - 187
  - 174
  - 175
  - 179
  - 181
  - 151
  - 185
  - 186
  - 155
  - 157
  - 158
  jinja2.debug.rewrite_traceback_stack:
  - 34
  - 58
  - 37
  - 69
  - 59
  - 73
  - 15
  - 51
  - 55
  - 25
  - 26
  - 27
  - 60
  - 29
  - 62
  - 57
  jinja2.defaults:
  - 10
  jinja2.environment:
  - 56
  - 1
  - 66
  - 62
  jinja2.environment.Environment:
  - 145
  jinja2.environment.Environment.__init__:
  - 352
  - 353
  - 357
  - 362
  - 365
  - 368
  - 351
  jinja2.environment.Environment._compile:
  - 706
  - 701
  jinja2.environment.Environment._filter_test_common:
  - 512
  - 544
  - 514
  - 545
  - 547
  - 517
  - 519
  - 537
  - 527
  - 529
  - 530
  - 535
  - 536
  - 505
  - 538
  - 541
  - 543
  jinja2.environment.Environment._generate:
  - 691
  - 686
  jinja2.environment.Environment._load_template:
  - 960
  - 961
  - 966
  - 967
  - 971
  - 973
  - 956
  - 958
  - 959
  jinja2.environment.Environment._parse:
  - 618
  - 619
  jinja2.environment.Environment._tokenize:
  - 672
  - 674
  - 675
  - 665
  - 668
  - 669
  - 671
  jinja2.environment.Environment.add_extension:
  - 371
  - 375
  jinja2.environment.Environment.call_filter:
  - 566
  - 558
  jinja2.environment.Environment.call_test:
  - 579
  - 591
  jinja2.environment.Environment.compile:
  - 768
  - 770
  - 739
  - 717
  - 760
  - 728
  - 762
  - 763
  - 764
  - 766
  jinja2.environment.Environment.compile_expression:
  - 802
  - 804
  - 805
  - 775
  - 809
  - 811
  - 813
  - 814
  - 815
  jinja2.environment.Environment.compile_templates:
  - 826
  - 845
  - 862
  - 865
  - 866
  - 868
  - 870
  - 871
  - 872
  - 875
  - 876
  - 878
  - 880
  - 882
  - 885
  - 887
  - 888
  - 890
  - 891
  - 893
  jinja2.environment.Environment.compile_templates.write_file:
  - 854
  - 855
  - 857
  - 859
  - 860
  jinja2.environment.Environment.extend:
  - 384
  - 378
  - 382
  - 383
  jinja2.environment.Environment.from_string:
  - 1105
  - 1107
  - 1094
  jinja2.environment.Environment.get_or_select_template:
  - 1077
  - 1082
  - 1083
  - 1084
  - 1086
  jinja2.environment.Environment.get_template:
  - 1007
  - 1009
  - 1010
  - 1012
  - 984
  jinja2.environment.Environment.getattr:
  - 483
  - 493
  - 487
  jinja2.environment.Environment.getitem:
  - 480
  - 466
  - 470
  - 472
  - 477
  jinja2.environment.Environment.handle_exception:
  - 933
  jinja2.environment.Environment.iter_extensions:
  - 460
  - 461
  jinja2.environment.Environment.join_path:
  - 941
  jinja2.environment.Environment.lex:
  - 640
  - 627
  - 636
  - 638
  jinja2.environment.Environment.lexer:
  - 456
  - 457
  jinja2.environment.Environment.list_templates:
  - 928
  - 900
  - 916
  - 918
  - 919
  - 927
  jinja2.environment.Environment.list_templates.filter_func:
  - 925
  jinja2.environment.Environment.make_globals:
  - 1112
  - 1129
  - 1126
  jinja2.environment.Environment.overlay:
  - 449
  - 452
  - 426
  - 429
  - 430
  - 434
  - 435
  - 436
  - 438
  - 439
  - 441
  - 411
  - 444
  - 445
  - 446
  - 447
  jinja2.environment.Environment.parse:
  - 602
  - 611
  - 613
  jinja2.environment.Environment.preprocess:
  - 648
  - 652
  - 653
  - 654
  - 655
  jinja2.environment.Environment.preprocess.<lambda1>:
  - 653
  jinja2.environment.Environment.select_template:
  - 1057
  - 1058
  - 1060
  - 1061
  - 1063
  - 1049
  - 1050
  - 1052
  - 1021
  jinja2.environment.Template:
  - 1133
  jinja2.environment.Template.__new__:
  - 1185
  - 1210
  - 1199
  jinja2.environment.Template.__repr__:
  - 1513
  - 1514
  - 1510
  - 1511
  jinja2.environment.Template._from_namespace:
  - 1250
  jinja2.environment.Template._get_default_module:
  - 1441
  - 1442
  - 1444
  - 1445
  - 1447
  - 1448
  - 1427
  - 1438
  jinja2.environment.Template._get_default_module_async:
  - 1455
  - 1456
  - 1458
  - 1459
  - 1461
  - 1462
  jinja2.environment.Template.debug_info:
  - 1504
  - 1500
  - 1501
  - 1503
  jinja2.environment.Template.from_code:
  - 1224
  - 1225
  - 1220
  jinja2.environment.Template.from_module_dict:
  - 1241
  - 1236
  jinja2.environment.Template.generate:
  - 1348
  - 1351
  - 1354
  - 1356
  - 1335
  - 1342
  jinja2.environment.Template.generate.to_list:
  - 1346
  jinja2.environment.Template.generate_async:
  - 1361
  - 1364
  - 1369
  - 1372
  - 1373
  - 1375
  jinja2.environment.Template.get_corresponding_lineno:
  - 1483
  - 1486
  - 1487
  jinja2.environment.Template.is_up_to_date:
  - 1496
  - 1493
  - 1494
  jinja2.environment.Template.make_module:
  - 1400
  - 1406
  - 1407
  jinja2.environment.Template.make_module_async:
  - 1420
  - 1421
  - 1422
  - 1415
  jinja2.environment.Template.module:
  - 1480
  - 1468
  jinja2.environment.Template.new_context:
  - 1390
  - 1383
  jinja2.environment.Template.render:
  - 1281
  - 1287
  - 1289
  - 1293
  - 1295
  - 1296
  - 1298
  - 1301
  - 1303
  - 1272
  jinja2.environment.Template.render_async:
  - 1314
  - 1319
  - 1322
  - 1323
  - 1326
  - 1306
  jinja2.environment.Template.stream:
  - 1329
  - 1332
  jinja2.environment.TemplateExpression:
  - 1558
  jinja2.environment.TemplateExpression.__call__:
  - 1568
  - 1569
  - 1571
  jinja2.environment.TemplateModule:
  - 1518
  jinja2.environment.TemplateModule.__html__:
  - 1544
  jinja2.environment.TemplateModule.__init__:
  - 1529
  - 1530
  - 1540
  - 1537
  jinja2.environment.TemplateModule.__repr__:
  - 1553
  - 1554
  - 1550
  - 1551
  jinja2.environment.TemplateModule.__str__:
  - 1547
  jinja2.environment.TemplateStream:
  - 1577
  jinja2.environment.TemplateStream.__init__:
  - 1589
  jinja2.environment.TemplateStream.__next__:
  - 1664
  jinja2.environment.TemplateStream._buffered_generator:
  - 1641
  - 1642
  - 1643
  - 1646
  - 1648
  jinja2.environment.TemplateStream.disable_buffering:
  - 1629
  - 1630
  jinja2.environment.TemplateStream.dump:
  - 1607
  - 1608
  - 1611
  - 1614
  - 1615
  - 1619
  - 1620
  - 1622
  - 1623
  - 1625
  - 1626
  - 1597
  jinja2.environment.TemplateStream.enable_buffering:
  - 1658
  - 1653
  - 1654
  jinja2.environment._environment_config_check:
  - 128
  - 127
  jinja2.environment.copy_cache:
  - 105
  - 98
  - 99
  - 102
  jinja2.environment.create_cache:
  - 90
  - 83
  - 84
  - 87
  jinja2.environment.get_spontaneous_environment:
  - 75
  - 68
  jinja2.environment.load_extensions:
  - 112
  - 117
  - 118
  - 119
  - 121
  jinja2.exceptions:
  - 3
  jinja2.exceptions.FilterArgumentError:
  - 164
  jinja2.exceptions.SecurityError:
  - 158
  jinja2.exceptions.TemplateAssertionError:
  - 140
  jinja2.exceptions.TemplateError:
  - 8
  jinja2.exceptions.TemplateError.__init__:
  - 11
  jinja2.exceptions.TemplateNotFound:
  - 19
  jinja2.exceptions.TemplateNotFound.__init__:
  - 40
  - 41
  - 35
  - 37
  jinja2.exceptions.TemplateNotFound.__str__:
  - 50
  jinja2.exceptions.TemplateRuntimeError:
  - 148
  jinja2.exceptions.TemplateSyntaxError:
  - 89
  jinja2.exceptions.TemplateSyntaxError.__init__:
  - 98
  jinja2.exceptions.TemplateSyntaxError.__str__:
  - 129
  - 110
  - 111
  - 116
  - 118
  - 121
  - 123
  - 127
  jinja2.exceptions.TemplatesNotFound:
  - 54
  jinja2.exceptions.TemplatesNotFound.__init__:
  - 70
  - 75
  - 76
  - 77
  - 79
  - 81
  - 84
  - 85
  jinja2.exceptions.UndefinedError:
  - 154
  jinja2.ext:
  - 1
  - 19
  - 51
  jinja2.ext.DebugExtension:
  - 615
  jinja2.ext.DebugExtension._render:
  - 651
  - 645
  - 646
  - 647
  jinja2.ext.DebugExtension.parse:
  - 640
  - 641
  - 638
  - 639
  jinja2.ext.ExprStmtExtension:
  - 590
  jinja2.ext.ExprStmtExtension.parse:
  - 597
  - 598
  jinja2.ext.Extension:
  - 79
  - 55
  jinja2.ext.Extension.attr:
  - 128
  - 135
  jinja2.ext.Extension.bind:
  - 92
  - 93
  - 94
  jinja2.ext.Extension.call_method:
  - 146
  - 149
  - 151
  - 153
  - 154
  jinja2.ext.Extension.filter_stream:
  - 110
  jinja2.ext.Extension.parse:
  - 118
  jinja2.ext.Extension.preprocess:
  - 101
  jinja2.ext.InternationalizationExtension:
  - 246
  jinja2.ext.InternationalizationExtension.__init__:
  - 258
  - 260
  jinja2.ext.InternationalizationExtension._extract:
  - 352
  - 350
  - 351
  jinja2.ext.InternationalizationExtension._install:
  - 274
  - 275
  - 277
  - 278
  - 281
  - 282
  - 283
  jinja2.ext.InternationalizationExtension._install_callables:
  - 323
  - 325
  - 326
  - 327
  - 329
  - 330
  - 332
  - 333
  - 335
  jinja2.ext.InternationalizationExtension._install_null:
  - 290
  - 307
  - 292
  - 300
  jinja2.ext.InternationalizationExtension._make_node:
  - 536
  - 542
  - 543
  - 544
  - 545
  - 548
  - 550
  - 551
  - 554
  - 556
  - 558
  - 563
  - 564
  - 567
  - 569
  - 575
  - 576
  - 577
  - 579
  - 581
  - 582
  - 586
  jinja2.ext.InternationalizationExtension._parse_block:
  - 512
  - 515
  - 519
  - 520
  - 524
  - 482
  - 487
  - 488
  - 489
  - 490
  - 491
  - 492
  - 493
  - 494
  - 495
  - 496
  - 497
  - 503
  - 505
  - 506
  - 508
  - 511
  jinja2.ext.InternationalizationExtension._trim_whitespace:
  - 477
  jinja2.ext.InternationalizationExtension._uninstall:
  - 340
  - 341
  jinja2.ext.InternationalizationExtension.parse:
  - 389
  - 390
  - 391
  - 392
  - 396
  - 398
  - 399
  - 400
  - 402
  - 403
  - 409
  - 413
  - 416
  - 417
  - 418
  - 419
  - 420
  - 424
  - 426
  - 427
  - 428
  - 429
  - 430
  - 437
  - 438
  - 439
  - 440
  - 442
  - 445
  - 446
  - 447
  - 449
  - 451
  - 452
  - 454
  - 456
  - 457
  - 458
  - 459
  - 461
  - 467
  - 470
  - 471
  - 355
  - 356
  - 359
  - 361
  - 373
  - 374
  - 377
  - 380
  - 381
  - 382
  jinja2.ext.LoopControlExtension:
  - 603
  jinja2.ext.LoopControlExtension.parse:
  - 608
  - 609
  - 610
  - 611
  jinja2.ext._CommentFinder:
  - 734
  jinja2.ext._CommentFinder.find_backwards:
  - 750
  - 753
  - 755
  - 758
  - 759
  jinja2.ext._CommentFinder.find_comments:
  - 768
  - 769
  - 770
  - 765
  - 767
  jinja2.ext._TranslationsBasic.gettext:
  - 27
  jinja2.ext._TranslationsContext.npgettext:
  - 37
  jinja2.ext._TranslationsContext.pgettext:
  - 34
  jinja2.ext._gettext_alias:
  - 167
  jinja2.ext._make_new_gettext.gettext:
  - 173
  - 174
  - 175
  jinja2.ext._make_new_ngettext.ngettext:
  - 193
  - 194
  - 195
  - 196
  jinja2.ext._make_new_npgettext.npgettext:
  - 232
  - 233
  - 234
  - 236
  - 237
  jinja2.ext._make_new_pgettext.pgettext:
  - 208
  - 209
  - 211
  - 212
  jinja2.ext.babel_extract:
  - 783
  - 812
  - 813
  - 815
  - 818
  - 820
  - 826
  - 827
  - 828
  - 829
  - 830
  - 831
  - 832
  - 833
  - 834
  - 835
  - 836
  - 837
  - 839
  - 840
  - 845
  - 847
  - 850
  - 852
  - 853
  - 855
  - 860
  - 861
  - 862
  jinja2.ext.babel_extract.getbool:
  - 824
  jinja2.ext.extract_from_ast:
  - 661
  - 697
  - 698
  - 699
  - 706
  - 707
  - 708
  - 710
  - 712
  - 713
  - 714
  - 715
  - 716
  - 717
  - 719
  - 720
  - 722
  - 725
  - 728
  - 730
  jinja2.filters:
  - 1
  - 1670
  - 1556
  - 29
  - 1312
  - 41
  - 42
  - 43
  - 1075
  - 950
  - 1592
  - 313
  - 1341
  - 715
  - 1632
  - 610
  - 1511
  - 1258
  - 251
  - 636
  jinja2.filters._GroupTuple.__repr__:
  - 1168
  jinja2.filters._GroupTuple.__str__:
  - 1171
  jinja2.filters._min_or_max:
  - 466
  - 469
  - 471
  - 473
  - 476
  jinja2.filters._prepare_attribute_parts:
  - 130
  - 131
  - 127
  jinja2.filters.async_select_or_reject:
  - 1795
  - 1796
  - 1798
  - 1799
  - 1800
  jinja2.filters.do_attr:
  - 1409
  - 1410
  - 1414
  - 1390
  - 1397
  - 1402
  - 1406
  - 1407
  jinja2.filters.do_batch:
  - 1107
  - 1108
  - 1109
  - 1112
  - 1114
  - 1115
  - 1116
  - 1118
  - 1087
  jinja2.filters.do_capitalize:
  - 307
  - 310
  jinja2.filters.do_center:
  - 621
  - 622
  jinja2.filters.do_default:
  - 546
  - 524
  jinja2.filters.do_dictsort:
  - 352
  - 354
  - 367
  - 335
  jinja2.filters.do_dictsort.sort_func:
  - 362
  - 363
  jinja2.filters.do_filesizeformat:
  - 704
  - 678
  - 683
  - 696
  - 698
  - 699
  - 701
  jinja2.filters.do_first:
  - 641
  - 643
  jinja2.filters.do_float:
  - 986
  - 981
  jinja2.filters.do_forceescape:
  - 137
  - 138
  - 139
  - 141
  jinja2.filters.do_format:
  - 992
  - 1016
  - 1011
  jinja2.filters.do_groupby:
  - 1280
  - 1266
  - 1273
  - 1274
  - 1277
  - 1279
  jinja2.filters.do_indent:
  - 832
  - 801
  - 833
  - 835
  - 836
  - 840
  - 816
  - 823
  - 824
  - 825
  - 829
  - 830
  jinja2.filters.do_int:
  - 968
  - 969
  - 971
  - 975
  - 959
  jinja2.filters.do_items:
  - 248
  - 242
  - 245
  - 222
  jinja2.filters.do_join:
  - 617
  jinja2.filters.do_last:
  - 650
  - 660
  - 662
  jinja2.filters.do_list:
  - 1343
  jinja2.filters.do_lower:
  - 217
  - 218
  jinja2.filters.do_map:
  - 1508
  - 1518
  - 1519
  - 1521
  - 1522
  - 1497
  jinja2.filters.do_mark_safe:
  - 1347
  - 1350
  jinja2.filters.do_mark_unsafe:
  - 1354
  - 1355
  jinja2.filters.do_max:
  - 506
  - 516
  jinja2.filters.do_min:
  - 496
  - 486
  jinja2.filters.do_pprint:
  - 712
  - 711
  jinja2.filters.do_random:
  - 672
  - 674
  - 670
  jinja2.filters.do_reject:
  - 1599
  jinja2.filters.do_rejectattr:
  - 1677
  jinja2.filters.do_replace:
  - 193
  - 196
  - 197
  - 199
  - 200
  - 201
  - 202
  - 204
  - 206
  - 208
  - 179
  jinja2.filters.do_reverse:
  - 1376
  - 1379
  - 1380
  - 1360
  - 1365
  - 1369
  - 1372
  jinja2.filters.do_round:
  - 1154
  - 1155
  - 1157
  - 1126
  - 1158
  - 1151
  jinja2.filters.do_select:
  - 1563
  jinja2.filters.do_selectattr:
  - 1639
  jinja2.filters.do_slice:
  - 1081
  jinja2.filters.do_sort:
  - 378
  - 420
  - 423
  jinja2.filters.do_striptags:
  - 1025
  - 1026
  - 1027
  - 1029
  jinja2.filters.do_sum:
  - 1328
  - 1321
  - 1322
  - 1329
  jinja2.filters.do_title:
  - 320
  - 322
  - 323
  - 317
  jinja2.filters.do_tojson:
  - 1706
  - 1684
  - 1702
  - 1703
  jinja2.filters.do_trim:
  - 1020
  - 1021
  jinja2.filters.do_truncate:
  - 878
  - 855
  - 881
  - 884
  - 887
  - 888
  - 890
  jinja2.filters.do_unique:
  - 449
  - 451
  - 452
  - 454
  - 455
  - 456
  - 433
  - 446
  jinja2.filters.do_upper:
  - 212
  - 213
  jinja2.filters.do_urlencode:
  - 162
  - 163
  - 165
  - 166
  - 170
  - 171
  - 147
  jinja2.filters.do_urlize:
  - 768
  - 769
  - 771
  - 772
  - 774
  - 777
  - 780
  - 781
  - 784
  - 792
  - 728
  - 793
  - 766
  jinja2.filters.do_wordcount:
  - 954
  - 955
  jinja2.filters.do_wordwrap:
  - 933
  - 935
  - 936
  - 903
  - 945
  - 926
  jinja2.filters.do_xmlattr:
  - 258
  - 290
  - 293
  - 295
  - 297
  - 300
  - 301
  - 286
  - 287
  jinja2.filters.ignore_case:
  - 49
  - 50
  - 47
  jinja2.filters.make_attrgetter:
  - 66
  - 61
  jinja2.filters.make_attrgetter.attrgetter:
  - 69
  - 70
  - 72
  - 75
  - 76
  jinja2.filters.make_multi_attrgetter:
  - 88
  - 98
  - 99
  - 103
  jinja2.filters.make_multi_attrgetter.attrgetter:
  - 106
  - 108
  - 111
  - 112
  - 114
  - 115
  jinja2.filters.prepare_map:
  - 1712
  - 1713
  - 1714
  - 1716
  - 1721
  jinja2.filters.prepare_map.func:
  - 1730
  jinja2.filters.prepare_select_or_reject:
  - 1744
  - 1768
  - 1750
  jinja2.filters.prepare_select_or_reject.<lambda1>:
  - 1768
  jinja2.filters.prepare_select_or_reject.func:
  - 1763
  jinja2.filters.select_or_reject:
  - 1779
  - 1780
  - 1782
  - 1783
  - 1784
  jinja2.filters.sync_do_first:
  - 633
  - 629
  - 631
  jinja2.filters.sync_do_groupby:
  - 1250
  - 1252
  - 1253
  - 1239
  - 1182
  - 1246
  - 1247
  jinja2.filters.sync_do_join:
  - 580
  - 581
  - 584
  - 585
  - 589
  - 590
  - 559
  - 593
  - 594
  - 597
  - 599
  - 600
  - 602
  - 604
  - 607
  jinja2.filters.sync_do_list:
  - 1338
  - 1335
  jinja2.filters.sync_do_map:
  - 1443
  - 1482
  - 1483
  - 1485
  - 1486
  - 1425
  - 1436
  jinja2.filters.sync_do_reject:
  - 1570
  - 1589
  jinja2.filters.sync_do_rejectattr:
  - 1667
  - 1646
  jinja2.filters.sync_do_select:
  - 1529
  - 1553
  jinja2.filters.sync_do_selectattr:
  - 1629
  - 1606
  jinja2.filters.sync_do_slice:
  - 1060
  - 1063
  - 1035
  - 1069
  - 1070
  - 1072
  - 1054
  - 1055
  jinja2.filters.sync_do_sum:
  - 1306
  - 1307
  - 1292
  - 1309
  jinja2.idtracking.FrameSymbolVisitor:
  - 233
  jinja2.idtracking.FrameSymbolVisitor.visit_Assign:
  - 288
  - 289
  - 287
  jinja2.idtracking.FrameSymbolVisitor.visit_AssignBlock:
  - 308
  - 309
  jinja2.idtracking.FrameSymbolVisitor.visit_Block:
  - 315
  jinja2.idtracking.FrameSymbolVisitor.visit_CallBlock:
  - 298
  jinja2.idtracking.FrameSymbolVisitor.visit_FilterBlock:
  - 301
  jinja2.idtracking.FrameSymbolVisitor.visit_For:
  - 292
  - 295
  jinja2.idtracking.FrameSymbolVisitor.visit_FromImport:
  - 278
  - 280
  - 281
  - 282
  - 284
  jinja2.idtracking.FrameSymbolVisitor.visit_If:
  - 265
  - 266
  - 267
  - 268
  - 253
  jinja2.idtracking.FrameSymbolVisitor.visit_If.inner_visit:
  - 257
  - 259
  - 260
  jinja2.idtracking.FrameSymbolVisitor.visit_Import:
  - 274
  - 275
  jinja2.idtracking.FrameSymbolVisitor.visit_Macro:
  - 271
  jinja2.idtracking.FrameSymbolVisitor.visit_NSRef:
  - 250
  jinja2.idtracking.FrameSymbolVisitor.visit_Name:
  - 241
  - 242
  - 243
  - 244
  - 245
  - 246
  - 247
  jinja2.idtracking.FrameSymbolVisitor.visit_OverlayScope:
  - 318
  jinja2.idtracking.FrameSymbolVisitor.visit_Scope:
  - 312
  jinja2.idtracking.FrameSymbolVisitor.visit_With:
  - 304
  - 305
  jinja2.idtracking.RootVisitor.__init__:
  - 176
  jinja2.idtracking.RootVisitor._simple_visit:
  - 179
  - 180
  jinja2.idtracking.RootVisitor.visit_AssignBlock:
  - 192
  - 191
  jinja2.idtracking.RootVisitor.visit_CallBlock:
  - 195
  - 196
  jinja2.idtracking.RootVisitor.visit_For:
  - 205
  - 206
  - 208
  - 210
  - 211
  - 212
  - 213
  - 218
  - 219
  - 220
  jinja2.idtracking.RootVisitor.visit_OverlayScope:
  - 200
  - 199
  jinja2.idtracking.RootVisitor.visit_With:
  - 224
  - 225
  - 226
  - 223
  jinja2.idtracking.Symbols.__init__:
  - 34
  - 35
  - 44
  jinja2.idtracking.Symbols._define_ref:
  - 55
  jinja2.idtracking.Symbols.analyze_node:
  - 48
  - 47
  jinja2.idtracking.Symbols.branch_update:
  - 128
  - 129
  - 130
  - 131
  - 133
  - 134
  - 137
  - 140
  - 141
  - 142
  - 122
  - 123
  - 124
  - 126
  jinja2.idtracking.Symbols.copy:
  - 87
  - 88
  - 89
  - 90
  - 91
  jinja2.idtracking.Symbols.declare_parameter:
  - 113
  - 114
  jinja2.idtracking.Symbols.dump_param_targets:
  - 161
  - 165
  - 166
  - 167
  jinja2.idtracking.Symbols.dump_stores:
  - 152
  - 153
  - 154
  jinja2.idtracking.Symbols.find_load:
  - 64
  - 60
  - 63
  jinja2.idtracking.Symbols.find_ref:
  - 72
  - 73
  - 69
  jinja2.idtracking.Symbols.load:
  - 117
  - 118
  jinja2.idtracking.Symbols.ref:
  - 78
  - 79
  jinja2.idtracking.Symbols.store:
  - 99
  - 103
  - 104
  - 105
  - 106
  - 110
  - 95
  jinja2.idtracking.find_symbols:
  - 16
  - 17
  - 18
  - 15
  jinja2.idtracking.symbols_for_node:
  - 25
  - 26
  jinja2.lexer:
  - 1
  - 141
  - 142
  - 143
  - 16
  - 144
  - 147
  - 22
  - 25
  - 26
  - 27
  - 30
  - 158
  - 46
  - 61
  - 62
  - 63
  - 64
  - 65
  - 66
  - 67
  - 68
  - 69
  - 70
  - 71
  - 72
  - 73
  - 74
  - 75
  - 76
  - 77
  - 78
  - 79
  - 80
  - 81
  - 82
  - 83
  - 84
  - 85
  - 86
  - 87
  - 88
  - 89
  - 90
  - 91
  - 92
  - 93
  - 94
  - 95
  - 96
  - 97
  - 98
  - 99
  - 100
  - 101
  - 102
  - 103
  - 104
  - 105
  - 106
  - 107
  - 108
  - 109
  jinja2.lexer.<lambda1>:
  - 144
  jinja2.lexer.Failure:
  - 253
  jinja2.lexer.Lexer:
  - 470
  jinja2.lexer.Lexer.__init__:
  - 519
  - 527
  - 528
  - 529
  - 533
  - 537
  - 538
  - 545
  - 549
  - 550
  - 561
  - 562
  - 570
  - 571
  - 576
  - 579
  - 583
  - 588
  - 589
  - 486
  - 487
  - 488
  - 489
  - 490
  - 491
  - 500
  - 502
  - 503
  - 504
  - 505
  jinja2.lexer.Lexer.__init__.c:
  - 482
  jinja2.lexer.Lexer._normalize_newlines:
  - 600
  - 597
  jinja2.lexer.Lexer.tokeniter:
  - 778
  - 779
  - 781
  - 786
  - 789
  - 790
  - 791
  - 792
  - 793
  - 794
  - 795
  - 796
  - 797
  - 674
  - 802
  - 804
  - 681
  - 683
  - 813
  - 686
  - 814
  - 816
  - 818
  - 691
  - 693
  - 822
  - 696
  - 825
  - 827
  - 828
  - 830
  - 703
  - 704
  - 831
  - 832
  - 707
  - 833
  - 714
  - 842
  - 848
  - 722
  - 723
  - 725
  - 732
  - 734
  - 736
  - 737
  - 739
  - 745
  - 748
  - 750
  - 753
  - 756
  - 758
  - 763
  - 764
  - 765
  - 766
  - 767
  jinja2.lexer.Lexer.tokenize:
  - 609
  - 610
  - 611
  jinja2.lexer.Lexer.wrap:
  - 642
  - 646
  - 650
  - 655
  - 657
  - 658
  - 659
  - 661
  - 662
  - 665
  - 619
  - 622
  - 623
  - 628
  - 630
  - 633
  - 635
  - 636
  - 637
  - 639
  jinja2.lexer.OptionalLStrip:
  - 451
  jinja2.lexer.OptionalLStrip.__new__:
  - 460
  jinja2.lexer.Token.__str__:
  - 273
  jinja2.lexer.Token.test:
  - 282
  - 276
  - 285
  - 286
  jinja2.lexer.Token.test_any:
  - 291
  - 292
  jinja2.lexer.TokenStream:
  - 318
  jinja2.lexer.TokenStream.__bool__:
  - 341
  jinja2.lexer.TokenStream.__init__:
  - 329
  - 330
  - 334
  - 335
  jinja2.lexer.TokenStream.__iter__:
  - 338
  jinja2.lexer.TokenStream.__next__:
  - 385
  - 386
  - 387
  - 389
  - 391
  - 379
  jinja2.lexer.TokenStream.close:
  - 396
  - 397
  - 398
  jinja2.lexer.TokenStream.eos:
  - 345
  jinja2.lexer.TokenStream.expect:
  - 423
  - 402
  - 405
  - 406
  - 408
  jinja2.lexer.TokenStream.look:
  - 353
  - 354
  - 356
  jinja2.lexer.TokenStream.next_if:
  - 369
  - 370
  - 366
  jinja2.lexer.TokenStream.push:
  - 349
  - 350
  jinja2.lexer.TokenStream.skip:
  - 361
  - 362
  - 363
  jinja2.lexer.TokenStream.skip_if:
  - 376
  - 375
  jinja2.lexer.TokenStreamIterator:
  - 296
  jinja2.lexer.TokenStreamIterator.__next__:
  - 313
  - 309
  - 310
  jinja2.lexer._describe_token_type:
  - 164
  - 167
  jinja2.lexer.compile_rules:
  - 226
  - 228
  - 232
  - 233
  - 235
  - 237
  - 240
  - 241
  - 243
  - 212
  - 245
  - 216
  - 249
  - 218
  - 221
  - 223
  jinja2.lexer.count_newlines:
  - 208
  - 205
  jinja2.lexer.describe_token:
  - 184
  - 185
  - 188
  jinja2.lexer.describe_token_expr:
  - 192
  - 193
  - 194
  - 196
  - 201
  jinja2.lexer.get_lexer:
  - 442
  - 427
  - 444
  - 445
  jinja2.loaders:
  - 1
  - 19
  jinja2.loaders.BaseLoader:
  - 42
  jinja2.loaders.BaseLoader.get_source:
  - 77
  - 94
  jinja2.loaders.BaseLoader.list_templates:
  - 101
  jinja2.loaders.BaseLoader.load:
  - 130
  - 131
  - 136
  - 137
  - 142
  - 144
  - 113
  - 146
  - 120
  - 125
  jinja2.loaders.ChoiceLoader:
  - 536
  jinja2.loaders.ChoiceLoader.get_source:
  - 555
  - 557
  jinja2.loaders.ChoiceLoader.list_templates:
  - 577
  - 578
  - 579
  - 580
  jinja2.loaders.ChoiceLoader.load:
  - 569
  - 571
  jinja2.loaders.DictLoader:
  - 404
  jinja2.loaders.DictLoader.get_source:
  - 418
  - 420
  jinja2.loaders.DictLoader.get_source.<lambda1>:
  - 420
  jinja2.loaders.DictLoader.list_templates:
  - 424
  jinja2.loaders.FileSystemLoader:
  - 152
  jinja2.loaders.FileSystemLoader.__init__:
  - 186
  - 189
  jinja2.loaders.FileSystemLoader.get_source:
  - 196
  - 198
  - 201
  - 203
  - 208
  - 209
  - 211
  - 220
  jinja2.loaders.FileSystemLoader.get_source.uptodate:
  - 215
  jinja2.loaders.FileSystemLoader.list_templates:
  - 224
  - 225
  - 226
  - 227
  - 229
  - 233
  - 235
  - 236
  - 237
  - 223
  jinja2.loaders.FunctionLoader:
  - 428
  jinja2.loaders.FunctionLoader.get_source:
  - 466
  - 461
  - 463
  jinja2.loaders.ModuleLoader:
  - 588
  jinja2.loaders.ModuleLoader.__init__:
  - 608
  - 612
  - 614
  - 617
  - 619
  - 620
  jinja2.loaders.ModuleLoader.__init__.<lambda1>:
  - 620
  jinja2.loaders.ModuleLoader.get_module_filename:
  - 635
  jinja2.loaders.ModuleLoader.get_template_key:
  - 631
  jinja2.loaders.ModuleLoader.load:
  - 644
  - 646
  - 648
  - 650
  - 656
  - 658
  - 661
  jinja2.loaders.PackageLoader:
  - 241
  jinja2.loaders.PackageLoader.__init__:
  - 320
  - 324
  - 293
  - 294
  - 317
  - 314
  - 302
  - 304
  - 305
  - 279
  - 312
  - 282
  - 315
  - 284
  - 311
  - 318
  jinja2.loaders.PackageLoader.get_source:
  - 359
  - 368
  - 338
  - 339
  - 343
  - 345
  - 348
  - 349
  - 351
  jinja2.loaders.PackageLoader.get_source.up_to_date:
  - 354
  jinja2.loaders.PackageLoader.list_templates:
  - 384
  - 391
  - 392
  - 394
  - 396
  - 397
  - 399
  - 373
  - 375
  - 377
  - 378
  - 379
  - 380
  jinja2.loaders.PrefixLoader:
  - 473
  jinja2.loaders.PrefixLoader.get_loader:
  - 495
  jinja2.loaders.PrefixLoader.get_source:
  - 504
  - 506
  jinja2.loaders.PrefixLoader.list_templates:
  - 529
  - 530
  - 531
  jinja2.loaders.PrefixLoader.load:
  - 521
  - 519
  jinja2.loaders._TemplateModule:
  - 584
  jinja2.loaders.split_template_path:
  - 36
  - 37
  - 25
  - 29
  - 30
  jinja2.meta:
  - 1
  - 10
  jinja2.meta.TrackingCodeGenerator:
  - 15
  jinja2.meta.TrackingCodeGenerator.__init__:
  - 18
  - 19
  jinja2.meta.TrackingCodeGenerator.enter_frame:
  - 25
  - 26
  - 28
  - 29
  - 30
  jinja2.meta.TrackingCodeGenerator.write:
  - 22
  jinja2.meta.find_referenced_templates:
  - 98
  - 99
  - 103
  - 106
  - 107
  - 108
  - 78
  - 111
  - 81
  - 83
  - 84
  - 87
  - 88
  - 89
  - 92
  - 62
  - 95
  jinja2.meta.find_undeclared_variables:
  - 34
  - 52
  - 53
  jinja2.nativetypes.NativeCodeGenerator:
  - 51
  jinja2.nativetypes.NativeCodeGenerator._output_child_post:
  - 84
  - 85
  jinja2.nativetypes.NativeCodeGenerator._output_child_pre:
  - 78
  - 79
  jinja2.nativetypes.NativeCodeGenerator._output_child_to_const:
  - 73
  - 65
  - 67
  - 70
  jinja2.nativetypes.NativeCodeGenerator._output_const_repr:
  - 60
  jinja2.nativetypes.NativeEnvironment:
  - 89
  - 92
  jinja2.nativetypes.NativeTemplate.render:
  - 99
  - 105
  - 108
  - 109
  - 112
  jinja2.nativetypes.NativeTemplate.render_async:
  - 115
  - 120
  - 123
  - 124
  - 127
  jinja2.nativetypes.native_concat:
  - 32
  - 35
  - 36
  - 37
  - 40
  - 44
  - 17
  - 25
  - 27
  - 30
  jinja2.nodes:
  - 1
  - 43
  - 44
  - 14
  - 18
  - 1203
  jinja2.nodes.Add:
  - 966
  jinja2.nodes.And:
  - 990
  jinja2.nodes.And.as_const:
  - 995
  - 996
  jinja2.nodes.Assign:
  - 449
  jinja2.nodes.AssignBlock:
  - 457
  jinja2.nodes.BinExpr:
  - 489
  jinja2.nodes.BinExpr.as_const:
  - 498
  - 508
  - 501
  jinja2.nodes.Block:
  - 392
  jinja2.nodes.Break:
  - 1146
  jinja2.nodes.Call:
  - 816
  jinja2.nodes.CallBlock:
  - 359
  jinja2.nodes.Compare:
  - 910
  jinja2.nodes.Compare.as_const:
  - 919
  - 920
  - 923
  - 924
  - 925
  - 927
  jinja2.nodes.Concat:
  - 897
  jinja2.nodes.Concat.as_const:
  - 905
  - 906
  jinja2.nodes.CondExpr:
  - 695
  jinja2.nodes.CondExpr.as_const:
  - 705
  - 706
  - 707
  - 710
  - 713
  jinja2.nodes.Const:
  - 576
  jinja2.nodes.Const.from_untrusted:
  - 601
  - 603
  - 595
  jinja2.nodes.ContextReference:
  - 1115
  jinja2.nodes.Continue:
  - 1142
  jinja2.nodes.DerivedContextReference:
  - 1133
  jinja2.nodes.Dict:
  - 654
  jinja2.nodes.Dict.as_const:
  - 664
  - 665
  jinja2.nodes.Div:
  - 952
  jinja2.nodes.EnvironmentAttribute:
  - 1031
  jinja2.nodes.EvalContext:
  - 70
  jinja2.nodes.EvalContext.__init__:
  - 78
  - 79
  jinja2.nodes.EvalContext.revert:
  - 88
  - 89
  jinja2.nodes.EvalContext.save:
  - 85
  jinja2.nodes.EvalContextModifier:
  - 1176
  jinja2.nodes.Expr:
  - 466
  jinja2.nodes.Expr.as_const:
  - 471
  jinja2.nodes.Expr.can_assign:
  - 484
  jinja2.nodes.ExprStmt:
  - 442
  jinja2.nodes.Extends:
  - 311
  jinja2.nodes.ExtensionAttribute:
  - 1040
  jinja2.nodes.Filter:
  - 786
  jinja2.nodes.Filter.as_const:
  - 796
  - 799
  jinja2.nodes.FilterBlock:
  - 371
  jinja2.nodes.FloorDiv:
  - 958
  jinja2.nodes.For:
  - 318
  jinja2.nodes.FromImport:
  - 424
  jinja2.nodes.Getattr:
  - 854
  jinja2.nodes.Getattr.as_const:
  - 864
  - 867
  - 870
  jinja2.nodes.Getitem:
  - 832
  jinja2.nodes.Getitem.as_const:
  - 840
  - 843
  - 846
  - 847
  jinja2.nodes.Helper:
  - 287
  jinja2.nodes.If:
  - 336
  jinja2.nodes.Import:
  - 415
  jinja2.nodes.ImportedName:
  - 1053
  jinja2.nodes.Impossible:
  - 49
  jinja2.nodes.Include:
  - 406
  jinja2.nodes.InternalName:
  - 1064
  jinja2.nodes.Keyword:
  - 683
  jinja2.nodes.Keyword.as_const:
  - 690
  - 691
  jinja2.nodes.List:
  - 643
  jinja2.nodes.List.as_const:
  - 649
  - 650
  jinja2.nodes.Literal:
  - 570
  jinja2.nodes.Macro:
  - 346
  jinja2.nodes.MarkSafe:
  - 1082
  jinja2.nodes.MarkSafe.as_const:
  - 1088
  - 1089
  jinja2.nodes.MarkSafeIfAutoescape:
  - 1093
  jinja2.nodes.MarkSafeIfAutoescape.as_const:
  - 1105
  - 1106
  - 1108
  - 1109
  - 1110
  jinja2.nodes.Mod:
  - 978
  jinja2.nodes.Mul:
  - 946
  jinja2.nodes.NSRef:
  - 555
  jinja2.nodes.Name:
  - 538
  jinja2.nodes.Neg:
  - 1016
  jinja2.nodes.Node:
  - 104
  jinja2.nodes.Node.__eq__:
  - 242
  - 239
  jinja2.nodes.Node.__init__:
  - 128
  - 130
  - 131
  - 132
  - 138
  - 139
  - 140
  - 141
  - 142
  jinja2.nodes.Node.__repr__:
  - 248
  - 247
  jinja2.nodes.Node.dump:
  - 276
  - 277
  jinja2.nodes.Node.dump._dump:
  - 256
  - 257
  - 258
  - 260
  - 261
  - 262
  - 263
  - 264
  - 265
  - 266
  - 267
  - 268
  - 269
  - 270
  - 272
  - 273
  - 252
  - 253
  jinja2.nodes.Node.find:
  - 185
  - 188
  jinja2.nodes.Node.find_all:
  - 196
  - 199
  - 200
  - 201
  - 202
  jinja2.nodes.Node.iter_child_nodes:
  - 172
  - 176
  - 177
  - 178
  - 179
  - 180
  - 181
  - 182
  jinja2.nodes.Node.iter_fields:
  - 163
  - 156
  - 157
  - 150
  jinja2.nodes.Node.set_ctx:
  - 205
  - 210
  - 212
  - 213
  - 215
  jinja2.nodes.Node.set_environment:
  - 233
  - 235
  - 230
  - 231
  jinja2.nodes.Node.set_lineno:
  - 224
  - 226
  - 219
  - 220
  - 222
  - 223
  jinja2.nodes.NodeType:
  - 53
  jinja2.nodes.NodeType.__new__:
  - 64
  - 65
  - 66
  - 58
  - 60
  - 61
  - 62
  - 63
  jinja2.nodes.Not:
  - 1010
  jinja2.nodes.Operand:
  - 938
  jinja2.nodes.Or:
  - 1000
  jinja2.nodes.Or.as_const:
  - 1005
  - 1006
  jinja2.nodes.Output:
  - 302
  jinja2.nodes.OverlayScope:
  - 1157
  jinja2.nodes.Pair:
  - 669
  jinja2.nodes.Pair.as_const:
  - 678
  - 679
  jinja2.nodes.Pos:
  - 1022
  jinja2.nodes.Pow:
  - 984
  jinja2.nodes.Scope:
  - 1150
  jinja2.nodes.ScopedEvalContextModifier:
  - 1189
  jinja2.nodes.Slice:
  - 876
  jinja2.nodes.Slice.as_const:
  - 893
  - 886
  jinja2.nodes.Slice.as_const.const:
  - 889
  - 891
  jinja2.nodes.Stmt:
  - 281
  jinja2.nodes.Sub:
  - 972
  jinja2.nodes.Template:
  - 293
  jinja2.nodes.TemplateData:
  - 607
  jinja2.nodes.TemplateData.as_const:
  - 616
  - 617
  - 613
  - 614
  jinja2.nodes.Test:
  - 803
  jinja2.nodes.Tuple:
  - 622
  jinja2.nodes.Tuple.as_const:
  - 632
  - 633
  jinja2.nodes.Tuple.can_assign:
  - 636
  - 637
  jinja2.nodes.UnaryExpr:
  - 514
  jinja2.nodes.UnaryExpr.as_const:
  - 522
  - 532
  - 525
  jinja2.nodes.With:
  - 379
  jinja2.nodes._FilterTestCommon.as_const:
  - 771
  - 772
  - 774
  - 775
  - 776
  - 777
  - 780
  - 749
  - 751
  - 754
  - 759
  - 760
  - 762
  - 765
  - 766
  - 767
  jinja2.nodes.args_as_const:
  - 719
  - 720
  - 722
  - 724
  - 728
  - 730
  jinja2.nodes.get_eval_context:
  - 99
  - 93
  - 94
  jinja2.optimizer:
  - 1
  - 15
  jinja2.optimizer.Optimizer.generic_visit:
  - 40
  - 33
  - 37
  - 39
  jinja2.optimizer.optimize:
  - 20
  - 22
  - 23
  jinja2.parser:
  - 1
  - 34
  - 11
  - 15
  - 16
  - 18
  jinja2.parser.Parser:
  - 47
  jinja2.parser.Parser.__init__:
  - 67
  - 60
  - 68
  jinja2.parser.Parser._fail_ut_eof:
  - 96
  - 97
  - 98
  - 99
  - 104
  - 109
  - 110
  - 111
  - 116
  - 120
  - 121
  - 126
  - 94
  - 95
  jinja2.parser.Parser.fail:
  - 80
  - 84
  jinja2.parser.Parser.fail_eof:
  - 142
  - 143
  - 144
  - 145
  - 146
  jinja2.parser.Parser.fail_unknown_tag:
  - 131
  - 135
  jinja2.parser.Parser.free_identifier:
  - 161
  - 162
  - 159
  jinja2.parser.Parser.is_tuple_end:
  - 152
  - 154
  - 155
  - 151
  jinja2.parser.Parser.parse:
  - 1040
  - 1038
  - 1039
  jinja2.parser.Parser.parse_and:
  - 552
  - 553
  - 550
  - 551
  jinja2.parser.Parser.parse_assign_target:
  - 480
  - 490
  - 491
  - 492
  - 461
  - 493
  - 494
  - 495
  - 496
  - 497
  - 499
  - 500
  - 471
  - 504
  - 506
  - 508
  - 509
  - 510
  jinja2.parser.Parser.parse_autoescape:
  - 289
  - 290
  - 291
  - 292
  jinja2.parser.Parser.parse_block:
  - 321
  - 323
  - 295
  - 296
  - 297
  - 298
  - 303
  - 304
  - 309
  - 314
  - 315
  - 316
  - 317
  - 318
  jinja2.parser.Parser.parse_call:
  - 924
  - 925
  jinja2.parser.Parser.parse_call_args:
  - 896
  - 897
  - 898
  - 900
  - 902
  - 905
  - 907
  - 908
  - 909
  - 912
  - 913
  - 917
  - 872
  - 884
  - 885
  - 888
  - 891
  - 892
  - 893
  - 894
  - 895
  jinja2.parser.Parser.parse_call_args.ensure:
  - 880
  - 881
  jinja2.parser.Parser.parse_call_block:
  - 421
  - 422
  - 423
  - 428
  - 429
  - 430
  - 432
  jinja2.parser.Parser.parse_compare:
  - 577
  - 578
  - 582
  - 584
  - 565
  - 569
  - 570
  - 571
  - 572
  - 573
  - 574
  jinja2.parser.Parser.parse_concat:
  - 599
  - 601
  - 602
  - 603
  - 605
  jinja2.parser.Parser.parse_condexpr:
  - 526
  - 529
  - 530
  - 531
  - 532
  - 535
  jinja2.parser.Parser.parse_dict:
  - 768
  - 769
  - 770
  - 771
  - 759
  - 762
  - 763
  - 764
  - 766
  - 767
  jinja2.parser.Parser.parse_expression:
  - 520
  - 521
  - 522
  - 516
  jinja2.parser.Parser.parse_extends:
  - 328
  - 327
  jinja2.parser.Parser.parse_filter:
  - 931
  - 932
  - 933
  - 936
  - 937
  - 938
  - 939
  - 944
  jinja2.parser.Parser.parse_filter_block:
  - 436
  - 437
  - 438
  jinja2.parser.Parser.parse_filter_expr:
  - 789
  - 790
  - 791
  - 792
  - 795
  - 796
  jinja2.parser.Parser.parse_for:
  - 235
  - 236
  - 237
  - 238
  - 239
  - 243
  - 244
  - 245
  - 246
  - 247
  - 250
  - 251
  jinja2.parser.Parser.parse_from:
  - 384
  - 385
  - 386
  - 391
  - 392
  - 393
  - 363
  - 364
  - 365
  - 395
  - 396
  - 399
  - 400
  - 379
  - 380
  - 381
  - 382
  jinja2.parser.Parser.parse_from.parse_context:
  - 369
  - 372
  - 373
  - 374
  jinja2.parser.Parser.parse_if:
  - 257
  - 258
  - 261
  - 262
  - 263
  - 264
  - 266
  - 267
  - 254
  - 255
  jinja2.parser.Parser.parse_import:
  - 356
  - 357
  - 358
  - 359
  - 360
  jinja2.parser.Parser.parse_import_context:
  - 336
  - 337
  - 338
  - 334
  jinja2.parser.Parser.parse_include:
  - 353
  - 344
  - 345
  - 346
  - 350
  jinja2.parser.Parser.parse_list:
  - 747
  - 750
  - 751
  - 752
  - 754
  - 755
  - 756
  jinja2.parser.Parser.parse_macro:
  - 442
  - 443
  - 444
  - 445
  jinja2.parser.Parser.parse_math1:
  - 592
  - 593
  - 588
  - 591
  jinja2.parser.Parser.parse_math2:
  - 609
  - 612
  - 613
  - 614
  jinja2.parser.Parser.parse_not:
  - 560
  - 561
  - 558
  - 559
  jinja2.parser.Parser.parse_or:
  - 544
  - 541
  - 542
  - 543
  jinja2.parser.Parser.parse_postfix:
  - 776
  - 777
  - 780
  - 781
  jinja2.parser.Parser.parse_pow:
  - 624
  - 620
  - 622
  - 623
  jinja2.parser.Parser.parse_primary:
  - 649
  - 650
  - 651
  - 652
  - 653
  - 655
  - 656
  - 657
  - 658
  - 662
  - 663
  - 664
  - 665
  - 666
  - 667
  - 668
  - 669
  - 670
  - 671
  - 672
  - 673
  - 674
  - 675
  - 677
  jinja2.parser.Parser.parse_print:
  - 449
  - 452
  - 453
  - 454
  jinja2.parser.Parser.parse_set:
  - 224
  - 225
  - 226
  - 227
  - 228
  - 229
  - 230
  - 231
  - 232
  jinja2.parser.Parser.parse_signature:
  - 416
  - 417
  - 418
  - 407
  - 409
  - 410
  - 411
  - 412
  - 413
  - 414
  - 415
  jinja2.parser.Parser.parse_statement:
  - 192
  - 166
  - 168
  - 169
  - 170
  - 173
  - 174
  - 175
  - 176
  - 177
  - 178
  - 179
  - 180
  - 181
  - 182
  - 187
  - 189
  - 191
  jinja2.parser.Parser.parse_statements:
  - 197
  - 207
  - 211
  - 212
  - 216
  - 217
  - 219
  - 220
  jinja2.parser.Parser.parse_subscribed:
  - 836
  - 837
  - 840
  - 841
  - 843
  - 846
  - 847
  - 848
  - 849
  - 851
  - 853
  - 854
  - 855
  - 856
  - 858
  - 860
  - 862
  jinja2.parser.Parser.parse_subscript:
  - 804
  - 807
  - 809
  - 810
  - 811
  - 814
  - 815
  - 816
  - 817
  - 818
  - 821
  - 822
  - 823
  - 824
  - 825
  - 828
  - 829
  - 830
  jinja2.parser.Parser.parse_test:
  - 960
  - 963
  - 964
  - 965
  - 973
  - 974
  - 975
  - 976
  - 977
  - 984
  - 981
  - 951
  - 952
  - 953
  - 985
  - 957
  - 959
  jinja2.parser.Parser.parse_tuple:
  - 706
  - 738
  - 708
  - 739
  - 741
  - 744
  - 719
  - 720
  - 687
  - 721
  - 723
  - 724
  - 730
  - 731
  jinja2.parser.Parser.parse_tuple.parse:
  - 713
  jinja2.parser.Parser.parse_unary:
  - 640
  - 641
  - 642
  - 643
  - 633
  - 634
  - 635
  - 636
  - 637
  - 638
  jinja2.parser.Parser.parse_with:
  - 272
  - 276
  - 277
  - 278
  - 279
  - 280
  - 281
  - 282
  - 285
  jinja2.parser.Parser.subparse:
  - 1024
  - 1026
  - 1027
  - 1031
  - 1033
  - 1034
  - 995
  - 996
  - 1007
  - 1008
  - 1009
  - 1010
  - 1011
  - 1012
  - 1013
  - 1014
  - 1015
  - 1016
  - 1017
  - 1018
  - 1022
  - 1023
  jinja2.parser.Parser.subparse.flush_data:
  - 1001
  - 999
  jinja2.runtime:
  - 1
  - 26
  - 27
  - 29
  jinja2.runtime.AsyncLoopContext.__anext__:
  - 650
  - 646
  jinja2.runtime.AsyncLoopContext._peek_next:
  - 619
  - 623
  jinja2.runtime.AsyncLoopContext._to_iterator:
  - 594
  jinja2.runtime.AsyncLoopContext.last:
  - 631
  jinja2.runtime.AsyncLoopContext.length:
  - 606
  - 602
  - 605
  - 598
  jinja2.runtime.AsyncLoopContext.nextitem:
  - 635
  - 637
  - 638
  jinja2.runtime.BlockReference:
  - 343
  jinja2.runtime.BlockReference.__call__:
  - 384
  - 385
  - 379
  - 380
  - 382
  jinja2.runtime.BlockReference._async_call:
  - 368
  - 369
  - 372
  - 373
  jinja2.runtime.BlockReference.super:
  - 360
  - 361
  - 364
  - 359
  jinja2.runtime.ChainableUndefined:
  - 963
  jinja2.runtime.ChainableUndefined.__html__:
  - 981
  jinja2.runtime.Context:
  - 144
  - 321
  - 322
  - 320
  jinja2.runtime.Context.__getitem__:
  - 328
  - 331
  - 333
  jinja2.runtime.Context.__init__:
  - 177
  - 182
  - 174
  - 175
  jinja2.runtime.Context.__repr__:
  - 339
  jinja2.runtime.Context.call:
  - 288
  - 289
  - 290
  - 292
  - 294
  - 297
  - 298
  - 267
  - 301
  - 303
  - 272
  - 276
  - 277
  - 278
  - 282
  - 284
  - 287
  jinja2.runtime.Context.derived:
  - 313
  - 314
  - 317
  - 309
  jinja2.runtime.Context.get:
  - 199
  jinja2.runtime.Context.get_all:
  - 256
  - 250
  - 258
  - 254
  jinja2.runtime.Context.get_exported:
  - 246
  jinja2.runtime.Context.resolve:
  - 211
  - 220
  - 222
  - 223
  jinja2.runtime.Context.resolve_or_missing:
  - 240
  - 228
  - 237
  jinja2.runtime.Context.super:
  - 193
  - 196
  - 187
  - 190
  - 191
  jinja2.runtime.DebugUndefined:
  - 990
  jinja2.runtime.DebugUndefined.__str__:
  - 1009
  - 1006
  - 1014
  jinja2.runtime.LoopContext:
  - 391
  jinja2.runtime.LoopContext.__call__:
  - 576
  - 571
  - 581
  jinja2.runtime.LoopContext.__init__:
  - 411
  - 420
  jinja2.runtime.LoopContext.__next__:
  - 562
  - 558
  jinja2.runtime.LoopContext.__repr__:
  - 584
  jinja2.runtime.LoopContext._peek_next:
  - 489
  - 484
  - 492
  jinja2.runtime.LoopContext._to_iterator:
  - 428
  jinja2.runtime.LoopContext.changed:
  - 548
  - 543
  jinja2.runtime.LoopContext.cycle:
  - 537
  - 532
  - 540
  jinja2.runtime.LoopContext.depth:
  - 454
  jinja2.runtime.LoopContext.first:
  - 480
  jinja2.runtime.LoopContext.index:
  - 459
  jinja2.runtime.LoopContext.last:
  - 497
  - 503
  jinja2.runtime.LoopContext.length:
  - 432
  - 437
  - 441
  - 443
  - 444
  - 445
  jinja2.runtime.LoopContext.nextitem:
  - 524
  - 517
  - 526
  - 527
  jinja2.runtime.LoopContext.previtem:
  - 507
  - 510
  - 511
  jinja2.runtime.LoopContext.revindex:
  - 472
  jinja2.runtime.LoopContext.revindex0:
  - 464
  jinja2.runtime.LoopRenderFunc.__call__:
  - 41
  jinja2.runtime.Macro:
  - 659
  jinja2.runtime.Macro.__call__:
  - 709
  - 716
  - 717
  - 726
  - 727
  - 729
  - 732
  - 734
  - 741
  - 742
  - 743
  - 744
  - 745
  - 747
  - 748
  - 749
  - 750
  - 758
  - 759
  - 760
  - 766
  jinja2.runtime.Macro.__init__:
  - 682
  - 674
  - 683
  - 684
  jinja2.runtime.Macro.__repr__:
  - 788
  - 789
  jinja2.runtime.Macro._async_invoke:
  - 769
  - 771
  - 772
  jinja2.runtime.Macro._invoke:
  - 777
  - 778
  - 780
  - 782
  - 783
  jinja2.runtime.StrictUndefined:
  - 1022
  jinja2.runtime.TemplateReference:
  - 121
  jinja2.runtime.TemplateReference.__getitem__:
  - 128
  jinja2.runtime.TemplateReference.__repr__:
  - 131
  jinja2.runtime.Undefined:
  - 793
  jinja2.runtime.Undefined.__aiter__:
  - 894
  - 895
  jinja2.runtime.Undefined.__eq__:
  - 876
  jinja2.runtime.Undefined.__getattr__:
  - 859
  - 862
  jinja2.runtime.Undefined.__hash__:
  - 882
  jinja2.runtime.Undefined.__iter__:
  - 891
  jinja2.runtime.Undefined.__ne__:
  - 879
  jinja2.runtime.Undefined._fail_with_undefined_error:
  - 852
  jinja2.runtime.Undefined._undefined_message:
  - 834
  - 837
  - 839
  - 844
  - 828
  - 831
  jinja2.runtime._dict_method_all:
  - 139
  - 135
  jinja2.runtime._dict_method_all.f_all:
  - 137
  jinja2.runtime.identity:
  - 69
  jinja2.runtime.make_logging_undefined:
  - 929
  - 930
  - 907
  - 926
  jinja2.runtime.make_logging_undefined.LoggingUndefined.__bool__:
  - 956
  - 957
  jinja2.runtime.make_logging_undefined.LoggingUndefined.__iter__:
  - 952
  - 953
  jinja2.runtime.make_logging_undefined.LoggingUndefined.__str__:
  - 948
  - 949
  jinja2.runtime.make_logging_undefined.LoggingUndefined._fail_with_undefined_error:
  - 944
  - 942
  jinja2.runtime.make_logging_undefined._log_message:
  - 933
  jinja2.runtime.markup_join:
  - 76
  - 78
  - 79
  - 80
  - 81
  - 82
  - 83
  jinja2.runtime.new_context:
  - 100
  - 101
  - 103
  - 106
  - 107
  - 110
  - 111
  - 112
  - 113
  - 115
  jinja2.runtime.str_join:
  - 88
  - 87
  jinja2.sandbox:
  - 1
  - 66
  - 58
  - 43
  - 20
  - 26
  - 29
  - 62
  jinja2.sandbox.ImmutableSandboxedEnvironment:
  - 397
  jinja2.sandbox.ImmutableSandboxedEnvironment.is_safe_attribute:
  - 403
  - 406
  jinja2.sandbox.SandboxedEnvironment:
  - 250
  - 235
  - 188
  jinja2.sandbox.SandboxedEnvironment.__init__:
  - 256
  - 253
  - 255
  jinja2.sandbox.SandboxedEnvironment.call:
  - 384
  - 385
  - 386
  - 387
  - 391
  - 393
  jinja2.sandbox.SandboxedEnvironment.call_binop:
  - 281
  - 287
  jinja2.sandbox.SandboxedEnvironment.call_unop:
  - 296
  - 290
  jinja2.sandbox.SandboxedEnvironment.format_string:
  - 355
  - 359
  - 360
  - 362
  - 364
  - 365
  - 374
  - 375
  jinja2.sandbox.SandboxedEnvironment.getattr:
  - 322
  - 326
  - 333
  - 335
  - 336
  jinja2.sandbox.SandboxedEnvironment.getitem:
  - 301
  - 305
  - 307
  - 312
  - 316
  - 318
  - 319
  jinja2.sandbox.SandboxedEnvironment.is_safe_attribute:
  - 265
  - 259
  jinja2.sandbox.SandboxedEnvironment.is_safe_callable:
  - 275
  - 268
  jinja2.sandbox.SandboxedEnvironment.unsafe_undefined:
  - 339
  - 340
  - 342
  jinja2.sandbox.SandboxedFormatter.__init__:
  - 412
  jinja2.sandbox.SandboxedFormatter.get_field:
  - 417
  - 418
  - 419
  - 420
  - 421
  - 423
  jinja2.sandbox.inspect_format_method:
  - 91
  - 84
  jinja2.sandbox.is_internal_attribute:
  - 137
  - 138
  - 140
  - 141
  - 143
  - 144
  - 146
  - 148
  - 149
  - 151
  - 152
  - 154
  - 157
  - 126
  - 159
  jinja2.sandbox.modifies_known_mutable:
  - 163
  - 181
  - 182
  jinja2.sandbox.safe_range:
  - 98
  - 101
  - 103
  jinja2.sandbox.unsafe:
  - 113
  jinja2.tests:
  - 1
  - 10
  jinja2.tests.test_boolean:
  - 97
  jinja2.tests.test_defined:
  - 43
  - 30
  jinja2.tests.test_divisibleby:
  - 25
  jinja2.tests.test_escaped:
  - 203
  - 204
  jinja2.tests.test_even:
  - 20
  jinja2.tests.test_false:
  - 105
  jinja2.tests.test_filter:
  - 53
  jinja2.tests.test_float:
  - 131
  - 135
  jinja2.tests.test_in:
  - 208
  jinja2.tests.test_integer:
  - 122
  - 126
  jinja2.tests.test_iterable:
  - 193
  - 195
  jinja2.tests.test_lower:
  - 139
  - 140
  jinja2.tests.test_mapping:
  - 154
  - 158
  jinja2.tests.test_none:
  - 92
  jinja2.tests.test_number:
  - 162
  - 163
  jinja2.tests.test_odd:
  - 15
  jinja2.tests.test_sameas:
  - 180
  jinja2.tests.test_sequence:
  - 171
  - 172
  - 167
  jinja2.tests.test_string:
  - 149
  - 150
  jinja2.tests.test_test:
  - 71
  jinja2.tests.test_true:
  - 113
  jinja2.tests.test_undefined:
  - 48
  - 47
  jinja2.tests.test_upper:
  - 144
  - 145
  jinja2.utils:
  - 16
  - 19
  - 22
  - 24
  - 218
  - 190
  jinja2.utils.Cycler:
  - 669
  jinja2.utils.Cycler.__init__:
  - 695
  jinja2.utils.Cycler.current:
  - 706
  jinja2.utils.Cycler.next:
  - 712
  - 716
  jinja2.utils.Cycler.reset:
  - 701
  jinja2.utils.Joiner:
  - 723
  jinja2.utils.Joiner.__call__:
  - 730
  jinja2.utils.LRUCache:
  - 422
  jinja2.utils.LRUCache.__contains__:
  - 489
  jinja2.utils.LRUCache.__delitem__:
  - 542
  - 535
  jinja2.utils.LRUCache.__getitem__:
  - 517
  - 500
  - 508
  - 510
  jinja2.utils.LRUCache.__init__:
  - 432
  - 431
  jinja2.utils.LRUCache.__iter__:
  - 561
  jinja2.utils.LRUCache.__len__:
  - 493
  - 494
  jinja2.utils.LRUCache.__repr__:
  - 497
  jinja2.utils.LRUCache.__reversed__:
  - 564
  - 567
  jinja2.utils.LRUCache.__setitem__:
  - 522
  - 526
  - 527
  - 528
  - 529
  - 531
  jinja2.utils.LRUCache.__setstate__:
  - 450
  - 451
  jinja2.utils.LRUCache._postinit:
  - 439
  jinja2.utils.LRUCache.clear:
  - 483
  - 485
  - 486
  jinja2.utils.LRUCache.copy:
  - 459
  - 460
  - 461
  - 462
  jinja2.utils.LRUCache.get:
  - 466
  jinja2.utils.LRUCache.items:
  - 547
  - 548
  - 549
  jinja2.utils.LRUCache.keys:
  - 557
  - 558
  jinja2.utils.LRUCache.setdefault:
  - 473
  jinja2.utils.LRUCache.values:
  - 553
  - 554
  jinja2.utils.Namespace:
  - 737
  jinja2.utils.Namespace.__getattribute__:
  - 746
  - 747
  jinja2.utils.Namespace.__init__:
  - 742
  jinja2.utils._PassArg:
  - 77
  - 78
  - 79
  jinja2.utils._PassArg.from_obj:
  - 83
  jinja2.utils.clear_caches:
  - 128
  - 127
  - 119
  jinja2.utils.consume:
  - 113
  - 114
  jinja2.utils.generate_lorem_ipsum:
  - 385
  - 388
  - 390
  - 391
  - 392
  - 393
  - 345
  - 348
  - 351
  - 359
  - 361
  - 362
  - 365
  - 366
  - 369
  - 374
  - 378
  - 381
  - 383
  jinja2.utils.htmlsafe_json_dumps:
  - 656
  - 659
  - 660
  - 631
  jinja2.utils.import_string:
  - 132
  - 143
  - 144
  - 145
  - 146
  - 148
  - 149
  - 151
  jinja2.utils.internalcode:
  - 90
  - 91
  jinja2.utils.is_undefined:
  - 96
  - 109
  jinja2.utils.object_type_repr:
  - 166
  - 170
  - 172
  - 175
  - 177
  jinja2.utils.open_if_exists:
  - 162
  - 156
  - 159
  jinja2.utils.pass_context:
  - 30
  jinja2.utils.pass_environment:
  - 64
  jinja2.utils.pass_eval_context:
  - 47
  jinja2.utils.pformat:
  - 184
  - 187
  jinja2.utils.select_autoescape:
  - 578
  - 612
  - 613
  jinja2.utils.select_autoescape.autoescape:
  - 616
  - 618
  - 619
  - 621
  jinja2.utils.url_quote:
  - 398
  - 405
  - 406
  - 407
  - 409
  - 412
  - 414
  - 415
  jinja2.utils.urlize:
  - 259
  - 272
  - 273
  - 274
  - 276
  - 278
  - 280
  - 281
  - 282
  - 287
  - 288
  - 290
  - 291
  - 292
  - 296
  - 297
  - 299
  - 304
  - 305
  - 310
  - 311
  - 313
  - 318
  - 321
  - 324
  - 326
  - 328
  - 332
  - 333
  - 334
  - 339
  - 228
  jinja2.utils.urlize.trim_url:
  - 262
  jinja2.visitor:
  - 8
  - 1
  jinja2.visitor.NodeTransformer:
  - 51
  jinja2.visitor.NodeTransformer.generic_visit:
  - 65
  - 66
  - 67
  - 68
  - 70
  - 71
  - 73
  - 75
  - 76
  - 77
  - 78
  - 80
  - 62
  - 63
  jinja2.visitor.NodeTransformer.visit_list:
  - 89
  - 84
  - 87
  jinja2.visitor.NodeVisitor:
  - 17
  jinja2.visitor.NodeVisitor.generic_visit:
  - 45
  - 46
  - 47
  jinja2.visitor.NodeVisitor.get_visitor:
  - 33
  - 29
  jinja2.visitor.NodeVisitor.visit:
  - 36
  - 37
  - 39
  - 40
  - 42
  jinja2.visitor.VisitCallable.__call__:
  - 13
Fuzzer filename: /src/fuzz_jinja_compile_expr.py
Inheritance:
  jinja2.bccache.Bucket: []
  jinja2.bccache.BytecodeCache: []
  jinja2.bccache.FileSystemBytecodeCache:
  - BytecodeCache
  jinja2.bccache.MemcachedBytecodeCache:
  - BytecodeCache
  jinja2.bccache._MemcachedClient: []
  jinja2.compiler.CodeGenerator:
  - NodeVisitor
  jinja2.compiler.CodeGenerator._FinalizeInfo: []
  jinja2.compiler.CompilerExit:
  - Exception
  jinja2.compiler.DependencyFinderVisitor:
  - NodeVisitor
  jinja2.compiler.Frame: []
  jinja2.compiler.MacroRef: []
  jinja2.compiler.UndeclaredNameVisitor:
  - NodeVisitor
  jinja2.compiler.VisitorExit:
  - RuntimeError
  jinja2.environment.Environment: []
  jinja2.environment.Template: []
  jinja2.environment.TemplateExpression: []
  jinja2.environment.TemplateModule: []
  jinja2.environment.TemplateStream: []
  jinja2.exceptions.FilterArgumentError:
  - TemplateRuntimeError
  jinja2.exceptions.SecurityError:
  - TemplateRuntimeError
  jinja2.exceptions.TemplateAssertionError:
  - TemplateSyntaxError
  jinja2.exceptions.TemplateError:
  - Exception
  jinja2.exceptions.TemplateNotFound:
  - IOError
  - TemplateError
  - LookupError
  jinja2.exceptions.TemplateRuntimeError:
  - TemplateError
  jinja2.exceptions.TemplateSyntaxError:
  - TemplateError
  jinja2.exceptions.TemplatesNotFound:
  - TemplateNotFound
  jinja2.exceptions.UndefinedError:
  - TemplateRuntimeError
  jinja2.ext.DebugExtension:
  - Extension
  jinja2.ext.ExprStmtExtension:
  - Extension
  jinja2.ext.Extension: []
  jinja2.ext.InternationalizationExtension:
  - Extension
  jinja2.ext.LoopControlExtension:
  - Extension
  jinja2.ext._CommentFinder: []
  jinja2.ext._TranslationsBasic: []
  jinja2.ext._TranslationsContext:
  - _TranslationsBasic
  jinja2.filters.HasHTML: []
  jinja2.filters._GroupTuple: []
  jinja2.idtracking.FrameSymbolVisitor:
  - NodeVisitor
  jinja2.idtracking.RootVisitor:
  - NodeVisitor
  jinja2.idtracking.Symbols: []
  jinja2.lexer.Failure: []
  jinja2.lexer.Lexer: []
  jinja2.lexer.OptionalLStrip:
  - tuple
  jinja2.lexer.Token: []
  jinja2.lexer.TokenStream: []
  jinja2.lexer.TokenStreamIterator: []
  jinja2.lexer._Rule: []
  jinja2.loaders.BaseLoader: []
  jinja2.loaders.ChoiceLoader:
  - BaseLoader
  jinja2.loaders.DictLoader:
  - BaseLoader
  jinja2.loaders.FileSystemLoader:
  - BaseLoader
  jinja2.loaders.FunctionLoader:
  - BaseLoader
  jinja2.loaders.ModuleLoader:
  - BaseLoader
  jinja2.loaders.PackageLoader:
  - BaseLoader
  jinja2.loaders.PrefixLoader:
  - BaseLoader
  jinja2.loaders._TemplateModule:
  - ModuleType
  jinja2.meta.TrackingCodeGenerator:
  - CodeGenerator
  jinja2.nativetypes.NativeCodeGenerator:
  - CodeGenerator
  jinja2.nativetypes.NativeEnvironment:
  - Environment
  jinja2.nativetypes.NativeTemplate:
  - Template
  jinja2.nodes.Add:
  - BinExpr
  jinja2.nodes.And:
  - BinExpr
  jinja2.nodes.Assign:
  - Stmt
  jinja2.nodes.AssignBlock:
  - Stmt
  jinja2.nodes.BinExpr:
  - Expr
  jinja2.nodes.Block:
  - Stmt
  jinja2.nodes.Break:
  - Stmt
  jinja2.nodes.Call:
  - Expr
  jinja2.nodes.CallBlock:
  - Stmt
  jinja2.nodes.Compare:
  - Expr
  jinja2.nodes.Concat:
  - Expr
  jinja2.nodes.CondExpr:
  - Expr
  jinja2.nodes.Const:
  - Literal
  jinja2.nodes.ContextReference:
  - Expr
  jinja2.nodes.Continue:
  - Stmt
  jinja2.nodes.DerivedContextReference:
  - Expr
  jinja2.nodes.Dict:
  - Literal
  jinja2.nodes.Div:
  - BinExpr
  jinja2.nodes.EnvironmentAttribute:
  - Expr
  jinja2.nodes.EvalContext: []
  jinja2.nodes.EvalContextModifier:
  - Stmt
  jinja2.nodes.Expr:
  - Node
  jinja2.nodes.ExprStmt:
  - Stmt
  jinja2.nodes.Extends:
  - Stmt
  jinja2.nodes.ExtensionAttribute:
  - Expr
  jinja2.nodes.Filter:
  - _FilterTestCommon
  jinja2.nodes.FilterBlock:
  - Stmt
  jinja2.nodes.FloorDiv:
  - BinExpr
  jinja2.nodes.For:
  - Stmt
  jinja2.nodes.FromImport:
  - Stmt
  jinja2.nodes.Getattr:
  - Expr
  jinja2.nodes.Getitem:
  - Expr
  jinja2.nodes.Helper:
  - Node
  jinja2.nodes.If:
  - Stmt
  jinja2.nodes.Import:
  - Stmt
  jinja2.nodes.ImportedName:
  - Expr
  jinja2.nodes.Impossible:
  - Exception
  jinja2.nodes.Include:
  - Stmt
  jinja2.nodes.InternalName:
  - Expr
  jinja2.nodes.Keyword:
  - Helper
  jinja2.nodes.List:
  - Literal
  jinja2.nodes.Literal:
  - Expr
  jinja2.nodes.Macro:
  - Stmt
  jinja2.nodes.MarkSafe:
  - Expr
  jinja2.nodes.MarkSafeIfAutoescape:
  - Expr
  jinja2.nodes.Mod:
  - BinExpr
  jinja2.nodes.Mul:
  - BinExpr
  jinja2.nodes.NSRef:
  - Expr
  jinja2.nodes.Name:
  - Expr
  jinja2.nodes.Neg:
  - UnaryExpr
  jinja2.nodes.Node: []
  jinja2.nodes.NodeType:
  - type
  jinja2.nodes.Not:
  - UnaryExpr
  jinja2.nodes.Operand:
  - Helper
  jinja2.nodes.Or:
  - BinExpr
  jinja2.nodes.Output:
  - Stmt
  jinja2.nodes.OverlayScope:
  - Stmt
  jinja2.nodes.Pair:
  - Helper
  jinja2.nodes.Pos:
  - UnaryExpr
  jinja2.nodes.Pow:
  - BinExpr
  jinja2.nodes.Scope:
  - Stmt
  jinja2.nodes.ScopedEvalContextModifier:
  - EvalContextModifier
  jinja2.nodes.Slice:
  - Expr
  jinja2.nodes.Stmt:
  - Node
  jinja2.nodes.Sub:
  - BinExpr
  jinja2.nodes.Template:
  - Node
  jinja2.nodes.TemplateData:
  - Literal
  jinja2.nodes.Test:
  - _FilterTestCommon
  jinja2.nodes.Tuple:
  - Literal
  jinja2.nodes.UnaryExpr:
  - Expr
  jinja2.nodes.With:
  - Stmt
  jinja2.nodes._FilterTestCommon:
  - Expr
  jinja2.optimizer.Optimizer:
  - NodeTransformer
  jinja2.parser.Parser: []
  jinja2.runtime.AsyncLoopContext:
  - LoopContext
  jinja2.runtime.BlockReference: []
  jinja2.runtime.ChainableUndefined:
  - Undefined
  jinja2.runtime.Context: []
  jinja2.runtime.DebugUndefined:
  - Undefined
  jinja2.runtime.LoopContext: []
  jinja2.runtime.LoopRenderFunc: []
  jinja2.runtime.Macro: []
  jinja2.runtime.StrictUndefined:
  - Undefined
  jinja2.runtime.TemplateReference: []
  jinja2.runtime.Undefined: []
  jinja2.runtime.make_logging_undefined.LoggingUndefined:
  - base
  jinja2.sandbox.ImmutableSandboxedEnvironment:
  - SandboxedEnvironment
  jinja2.sandbox.SandboxedEnvironment:
  - Environment
  jinja2.sandbox.SandboxedEscapeFormatter:
  - SandboxedFormatter
  - EscapeFormatter
  jinja2.sandbox.SandboxedFormatter:
  - Formatter
  jinja2.utils.Cycler: []
  jinja2.utils.Joiner: []
  jinja2.utils.LRUCache: []
  jinja2.utils.Namespace: []
  jinja2.utils._PassArg: []
  jinja2.visitor.NodeTransformer:
  - NodeVisitor
  jinja2.visitor.NodeVisitor: []
  jinja2.visitor.VisitCallable: []
ep:
  func_name: TestOneInput
  module: '...fuzz_jinja_compile_expr'
