All classes:
- jupyter_client.adapter.Adapter
- jupyter_client.adapter.V5toV4
- jupyter_client.adapter.V4toV5
- jupyter_client.session.SessionFactory
- jupyter_client.session.Message
- jupyter_client.session.Session
- jupyter_client.channelsabc.ChannelABC
- jupyter_client.channelsabc.HBChannelABC
- jupyter_client.channels.InvalidPortNumber
- jupyter_client.channels.HBChannel
- jupyter_client.channels.ZMQSocketChannel
- jupyter_client.channels.AsyncZMQSocketChannel
- jupyter_client.clientabc.KernelClientABC
- jupyter_client.localinterfaces.NoIPAddresses
- jupyter_client.ssh.tunnel.SSHException
- jupyter_client.ssh.forward.ForwardServer
- jupyter_client.ssh.forward.Handler
- jupyter_client.ssh.forward.forward_tunnel.SubHander
- jupyter_client.connect.ConnectionFileMixin
- jupyter_client.connect.LocalPortCache
- jupyter_client.client.KernelClient
- jupyter_client.provisioning.provisioner_base.KernelProvisionerMeta
- jupyter_client.provisioning.provisioner_base.KernelProvisionerBase
- jupyter_client.provisioning.factory.KernelProvisionerFactory
- jupyter_client.win_interrupt.create_interrupt_event.SECURITY_ATTRIBUTES
- jupyter_client.provisioning.local_provisioner.LocalProvisioner
- jupyter_client.kernelspec.KernelSpec
- jupyter_client.kernelspec.NoSuchKernel
- jupyter_client.kernelspec.KernelSpecManager
- jupyter_client.blocking.client.BlockingKernelClient
- jupyter_client.managerabc.KernelManagerABC
- jupyter_client.manager._ShutdownStatus
- jupyter_client.manager.KernelManager
- jupyter_client.manager.AsyncKernelManager
- jupyter_client.asynchronous.client.AsyncKernelClient
- jupyter_client.multikernelmanager.DuplicateKernelError
- jupyter_client.multikernelmanager.MultiKernelManager
- jupyter_client.multikernelmanager.AsyncMultiKernelManager
- jupyter_server.base.websocket.WebSocketMixin
- jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC
- jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection
- jupyter_server._tz.tzUTC
- jupyter_server.utils._request_for_tornado_client.UnixSocketResolver
- jupyter_server.base.handlers.AuthenticatedHandler
- jupyter_server.base.handlers.JupyterHandler
- jupyter_server.base.handlers.APIHandler
- jupyter_server.base.handlers.Template404
- jupyter_server.base.handlers.AuthenticatedFileHandler
- jupyter_server.base.handlers.FileFindHandler
- jupyter_server.base.handlers.APIVersionHandler
- jupyter_server.base.handlers.TrailingSlashHandler
- jupyter_server.base.handlers.MainHandler
- jupyter_server.base.handlers.FilesRedirectHandler
- jupyter_server.base.handlers.RedirectWithParams
- jupyter_server.base.handlers.PrometheusMetricsHandler
- jupyter_server.auth.login.LoginFormHandler
- jupyter_server.auth.login.LegacyLoginHandler
- jupyter_server.auth.logout.LogoutHandler
- jupyter_server.config_manager.BaseJSONConfigManager
- jupyter_server.services.config.manager.ConfigManager
- jupyter_server.extension.config.ExtensionConfigManager
- jupyter_server.extension.utils.ExtensionLoadingError
- jupyter_server.extension.utils.ExtensionMetadataError
- jupyter_server.extension.utils.ExtensionModuleNotFound
- jupyter_server.extension.utils.NotAnExtensionApp
- jupyter_server.extension.manager.ExtensionPoint
- jupyter_server.extension.manager.ExtensionPackage
- jupyter_server.extension.manager.ExtensionManager
- jupyter_server.extension.serverextension.ArgumentConflict
- jupyter_server.extension.serverextension.BaseExtensionApp
- jupyter_server.extension.serverextension.ToggleServerExtensionApp
- jupyter_server.extension.serverextension.EnableServerExtensionApp
- jupyter_server.extension.serverextension.DisableServerExtensionApp
- jupyter_server.extension.serverextension.ListServerExtensionsApp
- jupyter_server.extension.serverextension.ServerExtensionApp
- jupyter_client.restarter.KernelRestarter
- jupyter_client.ioloop.restarter.IOLoopKernelRestarter
- jupyter_client.ioloop.restarter.AsyncIOLoopKernelRestarter
- jupyter_client.ioloop.manager.IOLoopKernelManager
- jupyter_client.ioloop.manager.AsyncIOLoopKernelManager
- jupyter_server.services.kernels.kernelmanager.MappingKernelManager
- jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager
- jupyter_server.services.kernels.kernelmanager.ServerKernelManager
- jupyter_server.traittypes.TypeFromClasses
- jupyter_server.traittypes.InstanceFromClasses
- jupyter_server.services.sessions.sessionmanager.KernelSessionRecordConflict
- jupyter_server.services.sessions.sessionmanager.KernelSessionRecord
- jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList
- jupyter_server.services.sessions.sessionmanager.SessionManager
- jupyter_server.gateway.gateway_client.GatewayTokenRenewerMeta
- jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase
- jupyter_server.gateway.gateway_client.NoOpTokenRenewer
- jupyter_server.gateway.gateway_client.GatewayClient
- jupyter_server.gateway.gateway_client.RetryableHTTPClient
- jupyter_server.gateway.managers.GatewayMappingKernelManager
- jupyter_server.gateway.managers.GatewayKernelSpecManager
- jupyter_server.gateway.managers.GatewaySessionManager
- jupyter_server.gateway.managers.GatewayKernelManager
- jupyter_server.gateway.managers.ChannelQueue
- jupyter_server.gateway.managers.HBChannelQueue
- jupyter_server.gateway.managers.GatewayKernelClient
- jupyter_server.services.contents.checkpoints.Checkpoints
- jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin
- jupyter_server.services.contents.checkpoints.AsyncCheckpoints
- jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin
- jupyter_server.services.contents.fileio.FileManagerMixin
- jupyter_server.services.contents.fileio.AsyncFileManagerMixin
- jupyter_server.services.contents.filecheckpoints.FileCheckpoints
- jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints
- jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints
- jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints
- jupyter_server.files.handlers.FilesHandler
- jupyter_server.services.contents.manager.ContentsManager
- jupyter_server.services.contents.manager.AsyncContentsManager
- jupyter_server.services.contents.filemanager.FileContentsManager
- jupyter_server.services.contents.filemanager.AsyncFileContentsManager
- jupyter_server.services.contents.largefilemanager.LargeFileManager
- jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager
- jupyter_server.services.kernels.websocket.KernelWebsocketHandler
- jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection
- jupyter_server.serverapp.ServerWebApplication
- jupyter_server.serverapp.JupyterPasswordApp
- jupyter_server.serverapp.JupyterServerStopApp
- jupyter_server.serverapp.JupyterServerListApp
- jupyter_server.serverapp.ServerApp
- jupyter_server.auth.identity.User
- jupyter_server.auth.identity.IdentityProvider
- jupyter_server.auth.identity.PasswordIdentityProvider
- jupyter_server.auth.identity.LegacyIdentityProvider
- jupyter_server.auth.authorizer.Authorizer
- jupyter_server.auth.authorizer.AllowAllAuthorizer
- jupyter_server.nbconvert.handlers.NbconvertFileHandler
- jupyter_server.nbconvert.handlers.NbconvertPostHandler
- jupyter_server.gateway.handlers.WebSocketChannelsHandler
- jupyter_server.gateway.handlers.GatewayWebSocketClient
- jupyter_server.gateway.handlers.GatewayResourceHandler
- jupyter_server.services.kernels.handlers.KernelsAPIHandler
- jupyter_server.services.kernels.handlers.MainKernelHandler
- jupyter_server.services.kernels.handlers.KernelHandler
- jupyter_server.services.kernels.handlers.KernelActionHandler
- jupyter_server.services.kernelspecs.handlers.KernelSpecsAPIHandler
- jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler
- jupyter_server.services.kernelspecs.handlers.KernelSpecHandler
- jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler
- jupyter_server.extension.handler.ExtensionHandlerJinjaMixin
- jupyter_server.extension.handler.ExtensionHandlerMixin
- jupyter_server.extension.application.ExtensionAppJinjaMixin
- jupyter_server.extension.application.JupyterServerExtensionException
- jupyter_server.extension.application.ExtensionApp
- jupyter_server.services.shutdown.ShutdownHandler
- jupyter_server.services.config.handlers.ConfigHandler
- jupyter_server.services.nbconvert.handlers.NbconvertRootHandler
- jupyter_server.services.contents.handlers.ContentsAPIHandler
- jupyter_server.services.contents.handlers.ContentsHandler
- jupyter_server.services.contents.handlers.CheckpointsHandler
- jupyter_server.services.contents.handlers.ModifyCheckpointsHandler
- jupyter_server.services.contents.handlers.NotebooksRedirectHandler
- jupyter_server.services.contents.handlers.TrustNotebooksHandler
- jupyter_server.services.events.handlers.SubscribeWebsocket
- jupyter_server.services.events.handlers.EventHandler
- jupyter_server.services.security.handlers.CSPReportHandler
- jupyter_server.services.api.handlers.APISpecHandler
- jupyter_server.services.api.handlers.APIStatusHandler
- jupyter_server.services.api.handlers.IdentityHandler
- jupyter_server.services.sessions.handlers.SessionsAPIHandler
- jupyter_server.services.sessions.handlers.SessionRootHandler
- jupyter_server.services.sessions.handlers.SessionHandler
- jupyter_server.view.handlers.ViewHandler
- jupyter_client.threaded.ThreadedZMQSocketChannel
- jupyter_client.threaded.IOLoopThread
- jupyter_client.threaded.ThreadedKernelClient
- jupyter_client.consoleapp.JupyterConsoleApp
- jupyter_client.consoleapp.IPythonConsoleApp
- jupyter_client.kernelspecapp.ListKernelSpecs
- jupyter_client.kernelspecapp.InstallKernelSpec
- jupyter_client.kernelspecapp.RemoveKernelSpec
- jupyter_client.kernelspecapp.InstallNativeKernelSpec
- jupyter_client.kernelspecapp.ListProvisioners
- jupyter_client.kernelspecapp.KernelSpecApp
- jupyter_client.kernelapp.KernelApp
- jupyter_client.runapp.RunApp
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_serialization'
    functionSourceFile: '...fuzz_serialization'
    functionUses: 0
    functionsReached:
    - atheris.Setup
    - atheris.Fuzz
    - atheris.instrument_all
    - '...fuzz_serialization.main'
    - atheris.instrument_imports
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 27
    functionName: '...fuzz_serialization.TestOneInput'
    functionSourceFile: '...fuzz_serialization'
    functionUses: 0
    functionsReached:
    - offsets.append
    - traitlets.Any
    - msg.copy
    - jupyter_client.session.utcnow
    - jupyter_client.session.json_packer
    - <builtin>.len
    - fdp.ConsumeBytes
    - warnings.warn
    - jupyter_client.jsonutil.json_clean
    - <builtin>.str
    - ISO8601_PAT.match
    - dateutil.tz.tzlocal
    - math.isinf
    - obj.items
    - datetime.datetime.utcnow
    - json.loads
    - traitlets.utils.importstring.import_item
    - <builtin>.int
    - <builtin>.set
    - jupyter_client.session.Session.__init__
    - obj.strftime
    - <builtin>.float
    - dateutil.parser.parse.items
    - s.decode
    - jupyter_client.jsonutil._ensure_tzinfo
    - pickle.dumps
    - <builtin>.zip
    - struct.unpack
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session._check_packers
    - jupyter_client.session.Session.msg_header
    - os.getpid
    - jupyter_client.session.pickle_packer
    - jupyter_client.session.Session.msg
    - traitlets.log.get_logger.warning
    - pickle.loads
    - obj.isoformat
    - <builtin>.map
    - dateutil.parser.parse.replace
    - <builtin>.memoryview
    - <builtin>.super
    - <builtin>.type
    - jupyter_client.session.extract_header
    - <builtin>.list
    - jupyter_client.jsonutil.extract_dates
    - jupyter_server.services.kernels.connection.base.deserialize_binary_message
    - jupyter_client.session.Session._new_auth
    - jupyter_client.session.Session._check_packers.<lambda1>
    - jupyter_client.session.json_unpacker
    - <builtin>.dict
    - atheris.FuzzedDataProvider
    - json.dumps
    - <builtin>.hasattr
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - jupyter_client.jsonutil.parse_date
    - hmac.HMAC
    - traitlets.Dict.copy
    - jupyter_client.session.Session._check_packers.<lambda2>
    - dateutil.parser.parse
    - buffers.insert
    - bufs.append
    - jupyter_client.jsonutil.squash_dates
    - math.isnan
    - fdp.ConsumeString
    - <builtin>.repr
    - msg.pop
    - struct.pack
    - binascii.b2a_base64
    - <builtin>.isinstance
    - traitlets.log.get_logger
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 182
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 526
    functionName: jupyter_client.session.Session.__init__
    functionSourceFile: jupyter_client.session
    functionUses: 9
    functionsReached:
    - traitlets.Any
    - jupyter_client.session.utcnow
    - jupyter_client.session.json_packer
    - <builtin>.len
    - warnings.warn
    - jupyter_client.jsonutil.json_clean
    - <builtin>.str
    - math.isinf
    - obj.items
    - datetime.datetime.utcnow
    - json.loads
    - traitlets.utils.importstring.import_item
    - <builtin>.int
    - <builtin>.set
    - obj.strftime
    - <builtin>.float
    - s.decode
    - pickle.dumps
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session._check_packers
    - os.getpid
    - jupyter_client.session.pickle_packer
    - pickle.loads
    - traitlets.log.get_logger.warning
    - obj.isoformat
    - <builtin>.map
    - <builtin>.super
    - <builtin>.type
    - <builtin>.list
    - jupyter_client.session.Session._new_auth
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - jupyter_client.session.json_unpacker
    - <builtin>.hasattr
    - json.dumps
    - hmac.HMAC
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.jsonutil.squash_dates
    - math.isnan
    - <builtin>.repr
    - binascii.b2a_base64
    - <builtin>.isinstance
    - traitlets.log.get_logger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7faf357f6340>
    - <ast.Constant object at 0x7faf357f6310>
    - <ast.Constant object at 0x7faf357f62e0>
    - <ast.Constant object at 0x7faf357f62b0>
    argNames:
    - self
    - msg_type
    - content
    - parent
    - header
    - metadata
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 647
    functionName: jupyter_client.session.Session.msg
    functionSourceFile: jupyter_client.session
    functionUses: 2
    functionsReached:
    - jupyter_client.session.extract_header
    - <builtin>.dict
    - jupyter_client.session.Session.msg_header
    - traitlets.Dict.copy
    - <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: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeBytes
    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>.memoryview
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 20
    functionName: jupyter_server.services.kernels.connection.base.serialize_binary_message
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 5
    functionsReached:
    - msg.copy
    - offsets.append
    - buffers.insert
    - <builtin>.len
    - <builtin>.list
    - msg.pop
    - struct.pack
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - bmsg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 49
    functionName: jupyter_server.services.kernels.connection.base.deserialize_binary_message
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 2
    functionsReached:
    - offsets.append
    - dateutil.parser.parse
    - dateutil.parser.parse.replace
    - bufs.append
    - dateutil.parser.parse.items
    - jupyter_client.jsonutil._ensure_tzinfo
    - warnings.warn
    - ISO8601_PAT.match
    - dateutil.tz.tzlocal
    - <builtin>.zip
    - <builtin>.list
    - jupyter_client.jsonutil.extract_dates
    - struct.unpack
    - <builtin>.isinstance
    - json.loads
    - jupyter_client.jsonutil.parse_date
    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: 45
    functionName: '...fuzz_serialization.main'
    functionSourceFile: '...fuzz_serialization'
    functionUses: 1
    functionsReached:
    - atheris.Setup
    - atheris.Fuzz
    - atheris.instrument_all
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_all
    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.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: 3
    functionLinenumber: -1
    functionName: jupyter_client.session
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - binascii.b2a_hex
    - jupyter_client.session.new_id_bytes
    - jupyter_client.session.new_id
    - zmq.MessageTracker
    - os.urandom
    - binascii.b2a_hex.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 64
    functionName: jupyter_client.session.squash_unicode
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - obj.keys
    - jupyter_client.session.squash_unicode
    - <builtin>.enumerate
    - obj.encode
    - <builtin>.list
    - obj.pop
    - <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: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 183
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.keys
    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>.list
    functionSourceFile: <builtin>
    functionUses: 58
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.pop
    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>.enumerate
    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: 0
    functionLinenumber: -1
    functionName: obj.encode
    functionSourceFile: <builtin>
    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:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 92
    functionName: jupyter_client.session.json_packer
    functionSourceFile: jupyter_client.session
    functionUses: 14
    functionsReached:
    - <builtin>.len
    - warnings.warn
    - jupyter_client.jsonutil.json_clean
    - <builtin>.str
    - math.isinf
    - obj.items
    - <builtin>.int
    - <builtin>.set
    - obj.strftime
    - binascii.b2a_base64.decode
    - <builtin>.map
    - <builtin>.type
    - <builtin>.list
    - <builtin>.hasattr
    - json.dumps
    - <builtin>.isinstance
    - math.isnan
    - <builtin>.repr
    - binascii.b2a_base64
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 107
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 0
    IfCount: 11
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: jupyter_client.jsonutil.json_clean
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 15
    functionsReached:
    - <builtin>.int
    - <builtin>.set
    - <builtin>.map
    - obj.strftime
    - <builtin>.len
    - jupyter_client.jsonutil.json_clean
    - <builtin>.str
    - math.isnan
    - <builtin>.type
    - math.isinf
    - obj.items
    - <builtin>.list
    - <builtin>.repr
    - binascii.b2a_base64.decode
    - binascii.b2a_base64
    - <builtin>.float
    - <builtin>.hasattr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.warn
    functionSourceFile: warnings
    functionUses: 91
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 120
    functionName: jupyter_client.session.json_unpacker
    functionSourceFile: jupyter_client.session
    functionUses: 16
    functionsReached:
    - <builtin>.isinstance
    - s.decode
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.decode
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.loads
    functionSourceFile: json
    functionUses: 55
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - o
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 127
    functionName: jupyter_client.session.pickle_packer
    functionSourceFile: jupyter_client.session
    functionUses: 14
    functionsReached:
    - obj.isoformat
    - jupyter_client.jsonutil.squash_dates
    - pickle.dumps
    - obj.items
    - <builtin>.dict
    - <builtin>.isinstance
    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: 84
    functionName: jupyter_client.jsonutil.squash_dates
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 15
    functionsReached:
    - obj.isoformat
    - jupyter_client.jsonutil.squash_dates
    - obj.items
    - <builtin>.dict
    - <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: 0
    functionLinenumber: -1
    functionName: pickle.dumps
    functionSourceFile: pickle
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: zmq.MessageTracker
    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: 146
    functionName: jupyter_client.session.new_id
    functionSourceFile: jupyter_client.session
    functionUses: 5
    functionsReached:
    - os.urandom
    - binascii.b2a_hex.decode
    - binascii.b2a_hex
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.urandom
    functionSourceFile: os
    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: binascii.b2a_hex
    functionSourceFile: binascii
    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: binascii.b2a_hex.decode
    functionSourceFile: binascii
    functionUses: 6
    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: 2
    functionLinenumber: 160
    functionName: jupyter_client.session.new_id_bytes
    functionSourceFile: jupyter_client.session
    functionUses: 3
    functionsReached:
    - binascii.b2a_hex
    - binascii.b2a_hex.decode
    - os.urandom
    - jupyter_client.session.new_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - cfg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 185
    functionName: jupyter_client.session.default_secure
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - binascii.b2a_hex
    - jupyter_client.session.new_id_bytes
    - jupyter_client.session.new_id
    - warnings.warn
    - os.urandom
    - binascii.b2a_hex.decode
    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: 198
    functionName: jupyter_client.session.utcnow
    functionSourceFile: jupyter_client.session
    functionUses: 18
    functionsReached:
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.datetime.utcnow
    functionSourceFile: datetime
    functionUses: 67
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Unicode
    functionSourceFile: traitlets
    functionUses: 26
    functionsReached: []
    linkageType: 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: jupyter_client.session.SessionFactory
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.observe
    - traitlets.Unicode
    - traitlets.Instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.observe
    functionSourceFile: traitlets
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 216
    functionName: jupyter_client.session.SessionFactory._logname_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.getLogger
    functionSourceFile: logging
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance
    functionSourceFile: traitlets
    functionUses: 30
    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: 222
    functionName: jupyter_client.session.SessionFactory._context_default
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - zmq.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: zmq.Context
    functionSourceFile: <builtin>
    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: 1
    functionLinenumber: 229
    functionName: jupyter_client.session.SessionFactory._loop_default
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.ioloop.IOLoop.current
    functionSourceFile: tornado
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 232
    functionName: jupyter_client.session.SessionFactory.__init__
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - jupyter_client.session.utcnow
    - jupyter_client.session.json_packer
    - <builtin>.len
    - warnings.warn
    - jupyter_client.jsonutil.json_clean
    - <builtin>.str
    - math.isinf
    - obj.items
    - datetime.datetime.utcnow
    - json.loads
    - traitlets.utils.importstring.import_item
    - <builtin>.int
    - <builtin>.set
    - jupyter_client.session.Session.__init__
    - obj.strftime
    - <builtin>.float
    - s.decode
    - pickle.dumps
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session._check_packers
    - os.getpid
    - jupyter_client.session.pickle_packer
    - pickle.loads
    - traitlets.log.get_logger.warning
    - obj.isoformat
    - <builtin>.map
    - <builtin>.super
    - <builtin>.type
    - <builtin>.list
    - jupyter_client.session.Session._new_auth
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - jupyter_client.session.json_unpacker
    - <builtin>.hasattr
    - json.dumps
    - hmac.HMAC
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.jsonutil.squash_dates
    - math.isnan
    - <builtin>.repr
    - binascii.b2a_base64
    - <builtin>.isinstance
    - traitlets.log.get_logger
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 156
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 247
    functionName: jupyter_client.session.Message.__init__
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - jupyter_client.session.Message.__init__
    - <builtin>.isinstance
    - <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: 0
    functionLinenumber: -1
    functionName: <builtin>.dict
    functionSourceFile: <builtin>
    functionUses: 34
    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: 256
    functionName: jupyter_client.session.Message.__iter__
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <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: <builtin>.iter
    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: 259
    functionName: jupyter_client.session.Message.__repr__
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.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: <builtin>.repr
    functionSourceFile: <builtin>
    functionUses: 35
    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: 262
    functionName: jupyter_client.session.Message.__str__
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - pprint.pformat
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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
    - k
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 265
    functionName: jupyter_client.session.Message.__contains__
    functionSourceFile: jupyter_client.session
    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
    - k
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 268
    functionName: jupyter_client.session.Message.__getitem__
    functionSourceFile: jupyter_client.session
    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:
    - msg_id
    - msg_type
    - username
    - session
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 272
    functionName: jupyter_client.session.msg_header
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.locals
    - jupyter_client.session.utcnow
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg_or_header
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 279
    functionName: jupyter_client.session.extract_header
    functionSourceFile: jupyter_client.session
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - <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: 0
    functionLinenumber: -1
    functionName: traitlets.Bool
    functionSourceFile: traitlets
    functionUses: 27
    functionsReached: []
    linkageType: 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: jupyter_client.session.Session
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.CBytes
    - os.environ.get
    - traitlets.Any
    - traitlets.Set
    - traitlets.Dict
    - traitlets.Unicode
    - traitlets.Bool
    - traitlets.Instance
    - traitlets.observe
    - traitlets.CUnicode
    - traitlets.DottedObjectName
    - traitlets.Integer
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.DottedObjectName
    functionSourceFile: traitlets
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 360
    functionName: jupyter_client.session.Session._packer_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - new.lower
    - <builtin>.str
    - traitlets.utils.importstring.import_item
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.lower
    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>.str
    functionSourceFile: <builtin>
    functionUses: 140
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.utils.importstring.import_item
    functionSourceFile: traitlets
    functionUses: 33
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 381
    functionName: jupyter_client.session.Session._unpacker_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - new.lower
    - <builtin>.str
    - traitlets.utils.importstring.import_item
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.CUnicode
    functionSourceFile: traitlets
    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: 2
    functionLinenumber: 396
    functionName: jupyter_client.session.Session._session_default
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - binascii.b2a_hex
    - jupyter_client.session.new_id
    - u.encode
    - os.urandom
    - binascii.b2a_hex.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: u.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: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 402
    functionName: jupyter_client.session.Session._session_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.CUnicode.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.CUnicode.encode
    functionSourceFile: traitlets
    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: traitlets.CBytes
    functionSourceFile: traitlets
    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.environ.get
    functionSourceFile: os
    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: traitlets.Dict
    functionSourceFile: traitlets
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Integer
    functionSourceFile: traitlets
    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: 3
    functionLinenumber: 428
    functionName: jupyter_client.session.Session._key_default
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - binascii.b2a_hex
    - jupyter_client.session.new_id_bytes
    - jupyter_client.session.new_id
    - os.urandom
    - binascii.b2a_hex.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 432
    functionName: jupyter_client.session.Session._key_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - jupyter_client.session.Session._new_auth
    - hmac.HMAC
    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: 461
    functionName: jupyter_client.session.Session._new_auth
    functionSourceFile: jupyter_client.session
    functionUses: 12
    functionsReached:
    - hmac.HMAC
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 443
    functionName: jupyter_client.session.Session._signature_scheme_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - new.startswith
    - new.split
    - <builtin>.getattr
    - jupyter_client.session.Session._new_auth
    - hmac.HMAC
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/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.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: new.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>.getattr
    functionSourceFile: <builtin>
    functionUses: 146
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Any
    functionSourceFile: traitlets
    functionUses: 46
    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: 456
    functionName: jupyter_client.session.Session._digest_mod_default
    functionSourceFile: jupyter_client.session
    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: hmac.HMAC
    functionSourceFile: hmac
    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: traitlets.Set
    functionSourceFile: traitlets
    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
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 480
    functionName: jupyter_client.session.Session._keyfile_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - f.read
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 78
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 492
    functionName: jupyter_client.session.Session._pack_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    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>.callable
    functionSourceFile: <builtin>
    functionUses: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 500
    functionName: jupyter_client.session.Session._unpack_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - TypeError
    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: 4
    functionLinenumber: 604
    functionName: jupyter_client.session.Session._check_packers
    functionSourceFile: jupyter_client.session
    functionUses: 10
    functionsReached:
    - traitlets.Any
    - jupyter_client.session.utcnow
    - jupyter_client.session.json_packer
    - <builtin>.len
    - warnings.warn
    - jupyter_client.jsonutil.json_clean
    - <builtin>.str
    - math.isinf
    - obj.items
    - datetime.datetime.utcnow
    - json.loads
    - traitlets.utils.importstring.import_item
    - <builtin>.int
    - <builtin>.set
    - obj.strftime
    - <builtin>.float
    - s.decode
    - pickle.dumps
    - binascii.b2a_base64.decode
    - jupyter_client.session.pickle_packer
    - pickle.loads
    - obj.isoformat
    - <builtin>.map
    - <builtin>.type
    - <builtin>.list
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - jupyter_client.session.json_unpacker
    - <builtin>.hasattr
    - json.dumps
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.jsonutil.squash_dates
    - math.isnan
    - <builtin>.repr
    - binascii.b2a_base64
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jupyter_client.session.Session._check_packers.<lambda1>
    functionSourceFile: jupyter_client.session
    functionUses: 13
    functionsReached:
    - traitlets.Any
    - jupyter_client.session.json_packer
    - <builtin>.len
    - warnings.warn
    - jupyter_client.jsonutil.json_clean
    - <builtin>.str
    - math.isinf
    - obj.items
    - traitlets.utils.importstring.import_item
    - <builtin>.int
    - <builtin>.set
    - obj.strftime
    - <builtin>.float
    - pickle.dumps
    - binascii.b2a_base64.decode
    - jupyter_client.session.pickle_packer
    - obj.isoformat
    - <builtin>.map
    - <builtin>.type
    - <builtin>.list
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - <builtin>.hasattr
    - json.dumps
    - jupyter_client.jsonutil.squash_dates
    - math.isnan
    - <builtin>.repr
    - binascii.b2a_base64
    - <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: 0
    functionLinenumber: -1
    functionName: os.getpid
    functionSourceFile: os
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.log.get_logger
    functionSourceFile: traitlets
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.log.get_logger.warning
    functionSourceFile: traitlets
    functionUses: 12
    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: 578
    functionName: jupyter_client.session.Session.clone
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.config.configurable.Configurable.traits
    - <builtin>.set
    - <builtin>.setattr
    - <builtin>.type
    - <builtin>.getattr
    - new_session.digest_history.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: <builtin>.type
    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: traitlets.config.configurable.Configurable.traits
    functionSourceFile: traitlets
    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: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 55
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_session.digest_history.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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 599
    functionName: jupyter_client.session.Session.msg_id
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - os.getpid
    linkageType: 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: jupyter_client.session.Session._check_packers.<lambda2>
    functionSourceFile: jupyter_client.session
    functionUses: 15
    functionsReached:
    - traitlets.utils.importstring.import_item
    - traitlets.Any
    - jupyter_client.session.Session._check_packers.<lambda2>
    - s.decode
    - jupyter_client.session.json_unpacker
    - <builtin>.isinstance
    - json.loads
    - pickle.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.loads
    functionSourceFile: pickle
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 643
    functionName: jupyter_client.session.Session.msg_header
    functionSourceFile: jupyter_client.session
    functionUses: 3
    functionsReached:
    - jupyter_client.session.Session.msg_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Dict.copy
    functionSourceFile: traitlets
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg_list
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 673
    functionName: jupyter_client.session.Session.sign
    functionSourceFile: jupyter_client.session
    functionUses: 7
    functionsReached:
    - traitlets.Instance.copy
    - h.hexdigest
    - h.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: traitlets.Instance.copy
    functionSourceFile: traitlets
    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: h.update
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: h.hexdigest
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 6
    IfCount: 6
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf357bb550>
    argNames:
    - self
    - msg
    - ident
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 688
    functionName: jupyter_client.session.Session.serialize
    functionSourceFile: jupyter_client.session
    functionUses: 1
    functionsReached:
    - traitlets.Any
    - jupyter_client.session.json_packer
    - <builtin>.len
    - warnings.warn
    - jupyter_client.jsonutil.json_clean
    - <builtin>.str
    - math.isinf
    - obj.items
    - traitlets.utils.importstring.import_item
    - <builtin>.int
    - <builtin>.set
    - obj.strftime
    - <builtin>.float
    - h.update
    - pickle.dumps
    - binascii.b2a_base64.decode
    - jupyter_client.session.pickle_packer
    - obj.isoformat
    - jupyter_client.session.Session.sign
    - <builtin>.map
    - msg.get
    - <builtin>.type
    - to_send.extend
    - <builtin>.list
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - <builtin>.hasattr
    - json.dumps
    - to_send.append
    - h.hexdigest
    - jupyter_client.jsonutil.squash_dates
    - math.isnan
    - traitlets.Instance.copy
    - <builtin>.repr
    - binascii.b2a_base64
    - <builtin>.isinstance
    - content.encode
    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: msg.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: content.encode
    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: to_send.extend
    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: to_send.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 7
    IfCount: 10
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7faf349a0a00>
    - <ast.Constant object at 0x7faf349a09d0>
    - <ast.Constant object at 0x7faf349a09a0>
    - <ast.Constant object at 0x7faf349a0970>
    - <ast.Constant object at 0x7faf349a0940>
    - <ast.Constant object at 0x7faf349a0910>
    - <ast.Constant object at 0x7faf349a08e0>
    argNames:
    - self
    - stream
    - msg_or_type
    - content
    - parent
    - ident
    - buffers
    - track
    - header
    - metadata
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 752
    functionName: jupyter_client.session.Session.send
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - jupyter_client.session.utcnow
    - jupyter_client.session.json_packer
    - <builtin>.len
    - warnings.warn
    - jupyter_client.jsonutil.json_clean
    - <builtin>.str
    - math.isinf
    - obj.items
    - datetime.datetime.utcnow
    - jupyter_client.adapter.adapt
    - traitlets.utils.importstring.import_item
    - <builtin>.int
    - <builtin>.set
    - obj.strftime
    - <builtin>.float
    - h.update
    - adapters.get
    - pickle.dumps
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session.msg_header
    - os.getpid
    - jupyter_client.session.pickle_packer
    - jupyter_client.session.Session.msg
    - traitlets.log.get_logger.warning
    - obj.isoformat
    - <builtin>.enumerate
    - jupyter_client.session.Session.sign
    - <builtin>.map
    - msg.get
    - <builtin>.memoryview
    - jupyter_client.session.extract_header
    - <builtin>.type
    - stream.send_multipart
    - jupyter_client.session.Session.serialize
    - to_send.extend
    - <builtin>.list
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - zmq.Socket.shadow
    - <builtin>.hasattr
    - json.dumps
    - traitlets.Dict.copy
    - to_send.append
    - h.hexdigest
    - jupyter_client.jsonutil.squash_dates
    - pprint.pprint
    - math.isnan
    - traitlets.Instance.copy
    - <builtin>.repr
    - binascii.b2a_base64
    - <builtin>.isinstance
    - <builtin>.max
    - traitlets.log.get_logger
    - content.encode
    linkageType: pythonLinkage
    raised:
    - TypeError
    - 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: zmq.Socket.shadow
    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: <builtin>.hasattr
    functionSourceFile: <builtin>
    functionUses: 49
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Subscript object at 0x7faf34b92520>
    argNames:
    - msg
    - to_version
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 393
    functionName: jupyter_client.adapter.adapt
    functionSourceFile: jupyter_client.adapter
    functionUses: 5
    functionsReached:
    - <builtin>.int
    - jupyter_client.session.utcnow
    - adapters.get
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stream.send_multipart
    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: pprint.pprint
    functionSourceFile: pprint
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7faf349aa340>
    - <ast.Constant object at 0x7faf349aa310>
    - <ast.Constant object at 0x7faf349aa2e0>
    argNames:
    - self
    - stream
    - msg_list
    - flags
    - copy
    - ident
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 872
    functionName: jupyter_client.session.Session.send_raw
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - h.hexdigest
    - jupyter_client.session.Session.sign
    - h.update
    - traitlets.Instance.copy
    - stream.send_multipart
    - to_send.extend
    - <builtin>.isinstance
    - zmq.Socket.shadow
    - to_send.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Attribute object at 0x7faf349b5190>
    - <ast.Constant object at 0x7faf349b5130>
    - <ast.Constant object at 0x7faf349b5100>
    argNames:
    - self
    - socket
    - mode
    - content
    - copy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 909
    functionName: jupyter_client.session.Session.recv
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - traitlets.Any
    - socket.recv_multipart
    - jupyter_client.session.utcnow
    - jupyter_client.session.Session.feed_identities
    - <builtin>.len
    - jupyter_client.session.Session._cull_digest_history
    - warnings.warn
    - ISO8601_PAT.match
    - jupyter_client.session.Session._add_digest
    - dateutil.tz.tzlocal
    - hmac.compare_digest
    - datetime.datetime.utcnow
    - jupyter_client.adapter.adapt
    - json.loads
    - <builtin>.bytes
    - traitlets.utils.importstring.import_item
    - <builtin>.int
    - <builtin>.set
    - dateutil.parser.parse.items
    - h.update
    - s.decode
    - adapters.get
    - jupyter_client.jsonutil._ensure_tzinfo
    - traitlets.Set.add
    - pickle.loads
    - jupyter_client.session.Session.sign
    - <builtin>.enumerate
    - dateutil.parser.parse.replace
    - <builtin>.memoryview
    - traitlets.Set.difference_update
    - jupyter_client.jsonutil.extract_dates
    - typing.cast
    - jupyter_client.session.json_unpacker
    - msg_list.index
    - jupyter_client.session.Session.deserialize
    - zmq.Socket.shadow
    - jupyter_client.jsonutil.parse_date
    - h.hexdigest
    - jupyter_client.session.Session._check_packers.<lambda2>
    - dateutil.parser.parse
    - pprint.pprint
    - traitlets.Instance.copy
    - <builtin>.tuple
    - random.sample
    - <builtin>.isinstance
    - <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: socket.recv_multipart
    functionSourceFile: <builtin>
    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 0x7faf349b0a30>
    argNames:
    - self
    - msg_list
    - copy
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 952
    functionName: jupyter_client.session.Session.feed_identities
    functionSourceFile: jupyter_client.session
    functionUses: 2
    functionsReached:
    - msg_list.index
    - <builtin>.enumerate
    - typing.cast
    - <builtin>.bytes
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 3
    IfCount: 10
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf357feca0>
    - <ast.Constant object at 0x7faf357fec70>
    argNames:
    - self
    - msg_list
    - content
    - copy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1018
    functionName: jupyter_client.session.Session.deserialize
    functionSourceFile: jupyter_client.session
    functionUses: 3
    functionsReached:
    - <builtin>.sorted
    - traitlets.Any
    - jupyter_client.session.utcnow
    - <builtin>.len
    - jupyter_client.session.Session._cull_digest_history
    - warnings.warn
    - ISO8601_PAT.match
    - jupyter_client.session.Session._add_digest
    - dateutil.tz.tzlocal
    - hmac.compare_digest
    - datetime.datetime.utcnow
    - jupyter_client.adapter.adapt
    - json.loads
    - <builtin>.bytes
    - traitlets.utils.importstring.import_item
    - <builtin>.int
    - <builtin>.set
    - dateutil.parser.parse.items
    - h.update
    - s.decode
    - adapters.get
    - jupyter_client.jsonutil._ensure_tzinfo
    - traitlets.Set.add
    - pickle.loads
    - jupyter_client.session.Session.sign
    - dateutil.parser.parse.replace
    - <builtin>.memoryview
    - traitlets.Set.difference_update
    - jupyter_client.jsonutil.extract_dates
    - typing.cast
    - jupyter_client.session.json_unpacker
    - jupyter_client.jsonutil.parse_date
    - h.hexdigest
    - jupyter_client.session.Session._check_packers.<lambda2>
    - dateutil.parser.parse
    - pprint.pprint
    - traitlets.Instance.copy
    - <builtin>.tuple
    - random.sample
    - <builtin>.isinstance
    - <builtin>.max
    linkageType: pythonLinkage
    raised:
    - TypeError
    - 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: typing.cast
    functionSourceFile: typing
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: msg_list.index
    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: <builtin>.bytes
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - signature
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 994
    functionName: jupyter_client.session.Session._add_digest
    functionSourceFile: jupyter_client.session
    functionUses: 4
    functionsReached:
    - <builtin>.sorted
    - <builtin>.int
    - <builtin>.set
    - <builtin>.len
    - jupyter_client.session.Session._cull_digest_history
    - traitlets.Set.difference_update
    - <builtin>.tuple
    - random.sample
    - <builtin>.max
    - traitlets.Set.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: traitlets.Set.add
    functionSourceFile: traitlets
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1005
    functionName: jupyter_client.session.Session._cull_digest_history
    functionSourceFile: jupyter_client.session
    functionUses: 5
    functionsReached:
    - <builtin>.sorted
    - <builtin>.int
    - <builtin>.set
    - <builtin>.len
    - traitlets.Set.difference_update
    - <builtin>.tuple
    - random.sample
    - <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>.int
    functionSourceFile: <builtin>
    functionUses: 73
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: <builtin>.tuple
    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: random.sample
    functionSourceFile: random
    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: traitlets.Set.difference_update
    functionSourceFile: traitlets
    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: hmac.compare_digest
    functionSourceFile: hmac
    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: 3
    functionLinenumber: 70
    functionName: jupyter_client.jsonutil.extract_dates
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 7
    functionsReached:
    - dateutil.parser.parse
    - dateutil.parser.parse.replace
    - dateutil.parser.parse.items
    - jupyter_client.jsonutil._ensure_tzinfo
    - warnings.warn
    - ISO8601_PAT.match
    - dateutil.tz.tzlocal
    - jupyter_client.jsonutil.extract_dates
    - <builtin>.isinstance
    - jupyter_client.jsonutil.parse_date
    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: 5
    functionLinenumber: 1095
    functionName: jupyter_client.session.Session.unserialize
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - traitlets.Any
    - jupyter_client.session.utcnow
    - <builtin>.len
    - warnings.warn
    - jupyter_client.session.Session._cull_digest_history
    - ISO8601_PAT.match
    - jupyter_client.session.Session._add_digest
    - dateutil.tz.tzlocal
    - hmac.compare_digest
    - datetime.datetime.utcnow
    - jupyter_client.adapter.adapt
    - json.loads
    - <builtin>.bytes
    - traitlets.utils.importstring.import_item
    - <builtin>.int
    - <builtin>.set
    - dateutil.parser.parse.items
    - h.update
    - s.decode
    - adapters.get
    - jupyter_client.jsonutil._ensure_tzinfo
    - traitlets.Set.add
    - pickle.loads
    - jupyter_client.session.Session.sign
    - dateutil.parser.parse.replace
    - <builtin>.memoryview
    - traitlets.Set.difference_update
    - jupyter_client.jsonutil.extract_dates
    - typing.cast
    - jupyter_client.session.json_unpacker
    - jupyter_client.session.Session.deserialize
    - jupyter_client.jsonutil.parse_date
    - h.hexdigest
    - jupyter_client.session.Session._check_packers.<lambda2>
    - dateutil.parser.parse
    - pprint.pprint
    - traitlets.Instance.copy
    - <builtin>.tuple
    - random.sample
    - <builtin>.isinstance
    - <builtin>.max
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client._version
    functionSourceFile: jupyter_client._version
    functionUses: 0
    functionsReached:
    - re.match
    - parts.append
    - <builtin>.int
    - <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: re.match
    functionSourceFile: re
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.jsonutil
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 0
    functionsReached:
    - re.compile
    - datetime.datetime.strptime
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.datetime.strptime
    functionSourceFile: datetime
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - dt
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: jupyter_client.jsonutil._ensure_tzinfo
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 11
    functionsReached:
    - warnings.warn
    - dateutil.tz.tzlocal
    - dateutil.parser.parse.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: dateutil.tz.tzlocal
    functionSourceFile: dateutil
    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: 0
    functionLinenumber: -1
    functionName: dateutil.parser.parse.replace
    functionSourceFile: dateutil
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 54
    functionName: jupyter_client.jsonutil.parse_date
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 8
    functionsReached:
    - dateutil.parser.parse
    - dateutil.parser.parse.replace
    - jupyter_client.jsonutil._ensure_tzinfo
    - warnings.warn
    - ISO8601_PAT.match
    - dateutil.tz.tzlocal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ISO8601_PAT.match
    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: dateutil.parser.parse
    functionSourceFile: dateutil
    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: dateutil.parser.parse.items
    functionSourceFile: dateutil
    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: obj.items
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj.isoformat
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 97
    functionName: jupyter_client.jsonutil.date_default
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - dateutil.parser.parse.isoformat
    - dateutil.parser.parse.replace
    - jupyter_client.jsonutil.json_default
    - jupyter_client.jsonutil._ensure_tzinfo
    - <builtin>.float
    - warnings.warn
    - dateutil.tz.tzlocal
    - <builtin>.list
    - binascii.b2a_base64.decode
    - binascii.b2a_base64
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 107
    functionName: jupyter_client.jsonutil.json_default
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 1
    functionsReached:
    - <builtin>.int
    - dateutil.parser.parse.isoformat
    - dateutil.parser.parse.replace
    - jupyter_client.jsonutil._ensure_tzinfo
    - warnings.warn
    - dateutil.tz.tzlocal
    - <builtin>.list
    - binascii.b2a_base64.decode
    - binascii.b2a_base64
    - <builtin>.float
    - <builtin>.isinstance
    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: dateutil.parser.parse.isoformat
    functionSourceFile: dateutil
    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: binascii.b2a_base64
    functionSourceFile: binascii
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: binascii.b2a_base64.decode
    functionSourceFile: binascii
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.float
    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: math.isnan
    functionSourceFile: math
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: math.isinf
    functionSourceFile: math
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.strftime
    functionSourceFile: <builtin>
    functionUses: 16
    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: jupyter_client.adapter
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - code
    - cursor_pos
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: jupyter_client.adapter.code_to_line
    functionSourceFile: jupyter_client.adapter
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - code.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: code.splitlines
    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:
    - code
    - cursor_pos
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 33
    functionName: jupyter_client.adapter.extract_oname_v4
    functionSourceFile: jupyter_client.adapter
    functionUses: 1
    functionsReached:
    - _match_bracket.sub
    - jupyter_client.adapter.code_to_line
    - _identifier.findall
    - <builtin>.len
    - _end_bracket.sub
    - code.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_bracket.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: _end_bracket.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: _identifier.findall
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 64
    functionName: jupyter_client.adapter.Adapter.update_header
    functionSourceFile: jupyter_client.adapter
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 68
    functionName: jupyter_client.adapter.Adapter.update_metadata
    functionSourceFile: jupyter_client.adapter
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 72
    functionName: jupyter_client.adapter.Adapter.update_msg_type
    functionSourceFile: jupyter_client.adapter
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 80
    functionName: jupyter_client.adapter.Adapter.handle_reply_status_error
    functionSourceFile: jupyter_client.adapter
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 87
    functionName: jupyter_client.adapter.Adapter.__call__
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - jupyter_client.adapter.Adapter.update_msg_type
    - jupyter_client.adapter.V5toV4.update_header
    - jupyter_client.adapter.V4toV5.update_header
    - jupyter_client.adapter.Adapter.handle_reply_status_error
    - <builtin>.getattr
    - jupyter_client.adapter.Adapter.update_header
    - jupyter_client.adapter.Adapter.update_metadata
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 130
    functionName: jupyter_client.adapter.V5toV4.update_header
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 246
    functionName: jupyter_client.adapter.V4toV5.update_header
    functionSourceFile: ''
    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:
    - version
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 103
    functionName: jupyter_client.adapter._version_str_to_list
    functionSourceFile: jupyter_client.adapter
    functionUses: 1
    functionsReached:
    - <builtin>.int
    - version.split
    - v.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: version.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: v.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 138
    functionName: jupyter_client.adapter.V5toV4.kernel_info_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - v4c.setdefault
    - version.split
    - content.get
    - v.append
    - jupyter_client.adapter._version_str_to_list
    - language_info.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: content.get
    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: language_info.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: v4c.setdefault
    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: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 155
    functionName: jupyter_client.adapter.V5toV4.execute_request
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.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: content.setdefault
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 161
    functionName: jupyter_client.adapter.V5toV4.execute_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 168
    functionName: jupyter_client.adapter.V5toV4.complete_request
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - jupyter_client.adapter.code_to_line
    - <builtin>.len
    - code.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 182
    functionName: jupyter_client.adapter.V5toV4.complete_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.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: content.pop
    functionSourceFile: <builtin>
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 192
    functionName: jupyter_client.adapter.V5toV4.object_info_request
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - _match_bracket.sub
    - jupyter_client.adapter.code_to_line
    - _identifier.findall
    - <builtin>.len
    - jupyter_client.adapter.extract_oname_v4
    - _end_bracket.sub
    - code.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 204
    functionName: jupyter_client.adapter.V5toV4.object_info_reply
    functionSourceFile: jupyter_client.adapter
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 211
    functionName: jupyter_client.adapter.V5toV4.stream
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 217
    functionName: jupyter_client.adapter.V5toV4.display_data
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - json.dumps
    - content.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 232
    functionName: jupyter_client.adapter.V5toV4.input_request
    functionSourceFile: jupyter_client.adapter
    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: V5toV4.msg_type_map.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: 1
    functionLinenumber: -1
    functionName: jupyter_client.adapter.V4toV5
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - V5toV4.msg_type_map.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 255
    functionName: jupyter_client.adapter.V4toV5.kernel_info_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - language_info.setdefault
    - content.pop
    - content.setdefault
    - <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: language_info.setdefault
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 278
    functionName: jupyter_client.adapter.V4toV5.execute_request
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.pop
    - content.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 287
    functionName: jupyter_client.adapter.V4toV5.execute_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.pop
    - payload.pop
    - content.get
    - payload.get
    - content.setdefault
    - user_expressions.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: user_expressions.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: payload.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: payload.pop
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 304
    functionName: jupyter_client.adapter.V4toV5.complete_request
    functionSourceFile: jupyter_client.adapter
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 313
    functionName: jupyter_client.adapter.V4toV5.complete_reply
    functionSourceFile: jupyter_client.adapter
    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:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 331
    functionName: jupyter_client.adapter.V4toV5.inspect_request
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 342
    functionName: jupyter_client.adapter.V4toV5.inspect_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.get
    - lines.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: lines.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: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 366
    functionName: jupyter_client.adapter.V4toV5.stream
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 372
    functionName: jupyter_client.adapter.V4toV5.display_data
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.pop
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 387
    functionName: jupyter_client.adapter.V4toV5.input_request
    functionSourceFile: jupyter_client.adapter
    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: adapters.get
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client
    functionSourceFile: jupyter_client
    functionUses: 0
    functionsReached:
    - warnings.warn
    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: jupyter_client.multikernelmanager
    functionSourceFile: jupyter_client.multikernelmanager
    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:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 25
    functionName: jupyter_client.multikernelmanager.kernel_method
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 1
    functionsReached:
    - 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: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 29
    functionName: jupyter_client.multikernelmanager.kernel_method.wrapped
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.signal_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager.request_shutdown
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_restart_callback
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_stdin
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_iopub
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_hb
    - <builtin>.getattr
    - jupyter_client.multikernelmanager.MultiKernelManager.cleanup_resources
    - jupyter_client.multikernelmanager.MultiKernelManager.is_alive
    - jupyter_client.multikernelmanager.MultiKernelManager.finish_shutdown
    - jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_control
    - jupyter_client.multikernelmanager.MultiKernelManager.get_connection_info
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_shell
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - signum
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 337
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.signal_kernel
    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:
    - <ast.Constant object at 0x7faf362ae1c0>
    argNames:
    - self
    - kernel_id
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 273
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.request_shutdown
    functionSourceFile: ''
    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 0x7faf32fd3cd0>
    argNames:
    - self
    - kernel_id
    - callback
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 412
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.remove_restart_callback
    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:
    - <ast.Constant object at 0x7faf32fd4d00>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 490
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.connect_stdin
    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:
    - <ast.Constant object at 0x7faf32fd36d0>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 436
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.connect_iopub
    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:
    - <ast.Constant object at 0x7faf32fd49d0>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 508
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.connect_hb
    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:
    - <ast.Constant object at 0x7faf345f0d30>
    argNames:
    - self
    - kernel_id
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 287
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.cleanup_resources
    functionSourceFile: ''
    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
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 377
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.is_alive
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    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 0x7faf35c5d2b0>
    - <ast.Constant object at 0x7faf35c5d7f0>
    argNames:
    - self
    - kernel_id
    - waittime
    - pollinterval
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 277
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.finish_shutdown
    functionSourceFile: ''
    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 0x7faf32fd3fd0>
    argNames:
    - self
    - kernel_id
    - callback
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 406
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback
    functionSourceFile: ''
    functionUses: 3
    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 0x7faf32fd3070>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 472
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.connect_control
    functionSourceFile: ''
    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
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 418
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.get_connection_info
    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:
    - <ast.Constant object at 0x7faf32fd33a0>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 454
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.connect_shell
    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: 2
    functionLinenumber: -1
    functionName: jupyter_client.multikernelmanager.MultiKernelManager
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - traitlets.default
    - traitlets.Dict
    - traitlets.Unicode
    - traitlets.Unicode.tag
    - traitlets.Bool
    - jupyter_core.utils.run_sync
    - traitlets.Instance
    - traitlets.DottedObjectName.tag
    - jupyter_client.multikernelmanager.kernel_method
    - traitlets.observe
    - traitlets.Bool.tag
    - functools.wraps
    - traitlets.DottedObjectName
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Unicode.tag
    functionSourceFile: traitlets
    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: traitlets.DottedObjectName.tag
    functionSourceFile: traitlets
    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
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 63
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._kernel_manager_class_changed
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory
    - traitlets.utils.importstring.import_item
    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: 72
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 2
    functionsReached:
    - traitlets.utils.importstring.import_item
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.default
    functionSourceFile: traitlets
    functionUses: 24
    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: 69
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._kernel_manager_factory_default
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory
    - traitlets.utils.importstring.import_item
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 75
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 4
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - zmq.Context
    - kwargs.setdefault
    - traitlets.utils.importstring.import_item
    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: 103
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._context_default
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 5
    functionsReached:
    - zmq.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.setdefault
    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: traitlets.Bool.tag
    functionSourceFile: traitlets
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 98
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._starting_kernels
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached: []
    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: 1
    functionLinenumber: 111
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.__del__
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.destroy
    - <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: traitlets.Instance.destroy
    functionSourceFile: traitlets
    functionUses: 6
    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: 124
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 3
    functionsReached:
    - traitlets.Dict.keys
    - <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: traitlets.Dict.keys
    functionSourceFile: traitlets
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 130
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.__len__
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids
    - traitlets.Dict.keys
    - <builtin>.list
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 134
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.__contains__
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 137
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.pre_start_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 2
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - traitlets.Any
    - zmq.Context
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - kwargs.pop
    - os.path.join
    - <builtin>.str
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - kwargs.setdefault
    - uuid.uuid4
    linkageType: pythonLinkage
    raised:
    - DuplicateKernelError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 525
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 3
    functionsReached:
    - uuid.uuid4
    - <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: kwargs.pop
    functionSourceFile: <builtin>
    functionUses: 44
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 180
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - km
    - kernel_awaitable
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 162
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._add_kernel_when_ready
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 2
    functionsReached:
    - traitlets.Dict.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: traitlets.Dict.pop
    functionSourceFile: traitlets
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - kernel_awaitable
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 172
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 5
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - traitlets.Dict.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 290
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 8
    functionsReached:
    - traitlets.Dict.pop
    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: 182
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 9
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 188
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._async_start_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 1
    functionsReached:
    - traitlets.Any
    - <builtin>.str
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - uuid.uuid4
    - jupyter_client.multikernelmanager.MultiKernelManager.pre_start_kernel
    - traitlets.utils.importstring.import_item
    - zmq.Context
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - kwargs.pop
    - km.ready.exception
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - km.start_kernel
    - jupyter_core.utils.ensure_async
    - asyncio.create_task
    - <builtin>.getattr
    - jupyter_client.multikernelmanager.MultiKernelManager._add_kernel_when_ready
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - os.path.join
    - traitlets.Dict.pop
    - kwargs.setdefault
    - <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: 0
    functionLinenumber: -1
    functionName: km.start_kernel
    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: jupyter_core.utils.ensure_async
    functionSourceFile: jupyter_core
    functionUses: 78
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.create_task
    functionSourceFile: asyncio
    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: km.ready.exception
    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: jupyter_core.utils.run_sync
    functionSourceFile: jupyter_core
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf362b0b50>
    - <ast.Constant object at 0x7faf362b0640>
    argNames:
    - self
    - kernel_id
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 225
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 4
    functionsReached:
    - asyncio.ensure_future
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - traitlets.Dict.pop
    - jupyter_core.utils.ensure_async
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - typing.cast
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - traitlets.config.LoggingConfigurable.ready.exception
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 394
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 17
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.ready.cancelled
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable.ready.exception
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable.shutdown_kernel
    functionSourceFile: traitlets
    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: asyncio.ensure_future
    functionSourceFile: asyncio
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf35b4e1f0>
    argNames:
    - self
    - now
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 300
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_all
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - traitlets.config.LoggingConfigurable.ready.exception
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - <builtin>.set
    - asyncio.gather
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - traitlets.Dict.keys
    - traitlets.Dict.values
    - asyncio.ensure_future
    - jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    - jupyter_core.utils.ensure_async
    - <builtin>.list
    - typing.cast
    - <builtin>.getattr
    - jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids
    - traitlets.Dict.pop
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Dict.values
    functionSourceFile: traitlets
    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: asyncio.gather
    functionSourceFile: asyncio
    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:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 320
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.interrupt_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.ready.done
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - traitlets.config.LoggingConfigurable.interrupt_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    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: traitlets.config.LoggingConfigurable.ready.done
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable.interrupt_kernel
    functionSourceFile: traitlets
    functionUses: 2
    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 0x7faf351c98b0>
    argNames:
    - self
    - kernel_id
    - now
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 352
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._async_restart_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 1
    functionsReached:
    - traitlets.config.LoggingConfigurable.ready.done
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_core.utils.ensure_async
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - traitlets.config.LoggingConfigurable.restart_kernel
    - <builtin>.getattr
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    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: traitlets.config.LoggingConfigurable.restart_kernel
    functionSourceFile: traitlets
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 389
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uuid.uuid4
    functionSourceFile: uuid
    functionUses: 21
    functionsReached: []
    linkageType: 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: jupyter_client.multikernelmanager.AsyncMultiKernelManager
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.default
    - traitlets.Bool
    - traitlets.Instance
    - traitlets.Bool.tag
    - traitlets.DottedObjectName
    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: 553
    functionName: jupyter_client.multikernelmanager.AsyncMultiKernelManager._context_default
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - zmq.asyncio.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: zmq.asyncio.Context
    functionSourceFile: zmq
    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: jupyter_client.asynchronous
    functionSourceFile: jupyter_client.asynchronous
    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: jupyter_client.asynchronous.client
    functionSourceFile: jupyter_client.asynchronous.client
    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:
    - meth
    - channel
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 12
    functionName: jupyter_client.asynchronous.client.wrapped
    functionSourceFile: jupyter_client.asynchronous.client
    functionUses: 9
    functionsReached: []
    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: 3
    functionLinenumber: 15
    functionName: jupyter_client.asynchronous.client.wrapped._
    functionSourceFile: jupyter_client.asynchronous.client
    functionUses: 0
    functionsReached:
    - jupyter_client.client.KernelClient.execute
    - jupyter_client.asynchronous.client.wrapped
    - jupyter_client.client.KernelClient.history
    - jupyter_client.client.KernelClient.inspect
    - kwargs.pop
    - <builtin>.len
    - traitlets.Instance.msg
    - jupyter_client.client.KernelClient.is_complete
    - jupyter_client.client.KernelClient.shutdown
    - jupyter_client.client.validate_string_dict
    - jupyter_client.blocking.client.wrapped
    - jupyter_client.client.KernelClient.comm_info
    - kwargs.setdefault
    - <builtin>.dict
    - dct.items
    - <builtin>.isinstance
    - jupyter_client.client.KernelClient.complete
    - jupyter_client.client.KernelClient.kernel_info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 766
    functionName: jupyter_client.client.KernelClient.is_complete
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - traitlets.Instance.msg
    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 0x7faf35f411c0>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 791
    functionName: jupyter_client.client.KernelClient.shutdown
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - traitlets.Instance.msg
    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 0x7faf35f549a0>
    argNames:
    - self
    - target_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 744
    functionName: jupyter_client.client.KernelClient.comm_info
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - traitlets.Instance.msg
    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 0x7faf35f681f0>
    argNames:
    - self
    - code
    - cursor_pos
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 633
    functionName: jupyter_client.client.KernelClient.complete
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - traitlets.Instance.msg
    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: 733
    functionName: jupyter_client.client.KernelClient.kernel_info
    functionSourceFile: jupyter_client.client
    functionUses: 3
    functionsReached:
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7faf35f69310>
    - <ast.Constant object at 0x7faf35f692e0>
    - <ast.Constant object at 0x7faf35f692b0>
    - <ast.Constant object at 0x7faf35f69280>
    - <ast.Constant object at 0x7faf35f69250>
    argNames:
    - self
    - code
    - silent
    - store_history
    - user_expressions
    - allow_stdin
    - stop_on_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 566
    functionName: jupyter_client.client.KernelClient.execute
    functionSourceFile: jupyter_client.client
    functionUses: 3
    functionsReached:
    - dct.items
    - <builtin>.isinstance
    - traitlets.Instance.msg
    - jupyter_client.client.validate_string_dict
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7faf35f49be0>
    - <ast.Constant object at 0x7faf35f49bb0>
    - <ast.Constant object at 0x7faf35f49b80>
    argNames:
    - self
    - raw
    - output
    - hist_access_type
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 687
    functionName: jupyter_client.client.KernelClient.history
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - traitlets.Instance.msg
    - kwargs.setdefault
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf35f66730>
    - <ast.Constant object at 0x7faf35f66700>
    argNames:
    - self
    - code
    - cursor_pos
    - detail_level
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 656
    functionName: jupyter_client.client.KernelClient.inspect
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - meth
    - channel
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 14
    functionName: jupyter_client.blocking.client.wrapped
    functionSourceFile: ''
    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: 2
    functionLinenumber: -1
    functionName: jupyter_client.asynchronous.client.AsyncKernelClient
    functionSourceFile: jupyter_client.asynchronous.client
    functionUses: 0
    functionsReached:
    - jupyter_client.asynchronous.client.wrapped
    - traitlets.Type
    - parts.append
    - basedoc.strip
    - jupyter_client.blocking.client.wrapped
    - traitlets.Instance
    - jupyter_client.client.reqrep
    - meth.__doc__.split
    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: 35
    functionName: jupyter_client.asynchronous.client.AsyncKernelClient._context_default
    functionSourceFile: jupyter_client.asynchronous.client
    functionUses: 0
    functionsReached:
    - zmq.asyncio.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: traitlets.Type
    functionSourceFile: traitlets
    functionUses: 38
    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 0x7faf35f4e2e0>
    argNames:
    - wrapped
    - meth
    - channel
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: jupyter_client.client.reqrep
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - jupyter_client.asynchronous.client.wrapped
    - basedoc.strip
    - parts.append
    - jupyter_client.blocking.client.wrapped
    - meth.__doc__.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.channels
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - HBChannelABC.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf33a68b50>
    - <ast.Constant object at 0x7faf33a68b20>
    - <ast.Constant object at 0x7faf33a68af0>
    argNames:
    - self
    - context
    - session
    - address
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 52
    functionName: jupyter_client.channels.HBChannel.__init__
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - threading.Event
    - zmq.Poller
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - InvalidPortNumber
    returnType: N/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.Event
    functionSourceFile: threading
    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: zmq.Poller
    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: jupyter_client.channels.HBChannel
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - atexit.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atexit.register
    functionSourceFile: atexit
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 92
    functionName: jupyter_client.channels.HBChannel._notice_exit
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 98
    functionName: jupyter_client.channels.HBChannel._create_socket
    functionSourceFile: jupyter_client.channels
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 8
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 111
    functionName: jupyter_client.channels.HBChannel._async_run
    functionSourceFile: jupyter_client.channels
    functionUses: 1
    functionsReached:
    - <builtin>.bool
    - time.time
    - threading.Event.wait
    - jupyter_client.channels.HBChannel._create_socket
    - jupyter_core.utils.ensure_async
    - jupyter_client.channels.HBChannel.call_handlers
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.Event.wait
    functionSourceFile: threading
    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: time.time
    functionSourceFile: time
    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: <builtin>.bool
    functionSourceFile: <builtin>
    functionUses: 38
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - since_last_heartbeat
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 183
    functionName: jupyter_client.channels.HBChannel.call_handlers
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 145
    functionName: jupyter_client.channels.HBChannel.run
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - time.time
    - loop.close
    - threading.Event.wait
    - jupyter_client.channels.HBChannel._async_run
    - jupyter_client.channels.HBChannel._create_socket
    - asyncio.set_event_loop
    - loop.run_until_complete
    - jupyter_core.utils.ensure_async
    - asyncio.new_event_loop
    - jupyter_client.channels.HBChannel.call_handlers
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: asyncio.set_event_loop
    functionSourceFile: asyncio
    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: loop.run_until_complete
    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: 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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 152
    functionName: jupyter_client.channels.HBChannel.pause
    functionSourceFile: jupyter_client.channels
    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: 156
    functionName: jupyter_client.channels.HBChannel.unpause
    functionSourceFile: jupyter_client.channels
    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: 160
    functionName: jupyter_client.channels.HBChannel.is_beating
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - threading.Thread.is_alive
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.Thread.is_alive
    functionSourceFile: threading
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 167
    functionName: jupyter_client.channels.HBChannel.stop
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - jupyter_client.channels.HBChannel.close
    - threading.Thread.join
    - threading.Event.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: threading.Event.set
    functionSourceFile: threading
    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: threading.Thread.join
    functionSourceFile: threading
    functionUses: 4
    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: 0
    functionLinenumber: 174
    functionName: jupyter_client.channels.HBChannel.close
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: HBChannelABC.register
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    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 0x7faf34edb760>
    argNames:
    - self
    - socket
    - session
    - loop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 200
    functionName: jupyter_client.channels.ZMQSocketChannel.__init__
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 217
    functionName: jupyter_client.channels.ZMQSocketChannel._recv
    functionSourceFile: jupyter_client.channels
    functionUses: 2
    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 0x7faf349306a0>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 223
    functionName: jupyter_client.channels.ZMQSocketChannel.get_msg
    functionSourceFile: jupyter_client.channels
    functionUses: 1
    functionsReached:
    - jupyter_client.channels.ZMQSocketChannel._recv
    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: 235
    functionName: jupyter_client.channels.ZMQSocketChannel.get_msgs
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - msgs.append
    - jupyter_client.channels.ZMQSocketChannel._recv
    - jupyter_client.channels.ZMQSocketChannel.get_msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: msgs.append
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 245
    functionName: jupyter_client.channels.ZMQSocketChannel.msg_ready
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    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: 0
    functionLinenumber: 250
    functionName: jupyter_client.channels.ZMQSocketChannel.close
    functionSourceFile: jupyter_client.channels
    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: 261
    functionName: jupyter_client.channels.ZMQSocketChannel.is_alive
    functionSourceFile: jupyter_client.channels
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 265
    functionName: jupyter_client.channels.ZMQSocketChannel.send
    functionSourceFile: jupyter_client.channels
    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: 270
    functionName: jupyter_client.channels.ZMQSocketChannel.start
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf347199a0>
    argNames:
    - self
    - socket
    - session
    - loop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 280
    functionName: jupyter_client.channels.AsyncZMQSocketChannel.__init__
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 297
    functionName: jupyter_client.channels.AsyncZMQSocketChannel._recv
    functionSourceFile: jupyter_client.channels
    functionUses: 2
    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 0x7faf332a0a00>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 303
    functionName: jupyter_client.channels.AsyncZMQSocketChannel.get_msg
    functionSourceFile: jupyter_client.channels
    functionUses: 1
    functionsReached:
    - jupyter_client.channels.AsyncZMQSocketChannel._recv
    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: 317
    functionName: jupyter_client.channels.AsyncZMQSocketChannel.get_msgs
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - msgs.append
    - jupyter_client.channels.AsyncZMQSocketChannel.get_msg
    - jupyter_client.channels.AsyncZMQSocketChannel._recv
    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: 327
    functionName: jupyter_client.channels.AsyncZMQSocketChannel.msg_ready
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    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: jupyter_client.channelsabc
    functionSourceFile: jupyter_client.channelsabc
    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: jupyter_client.channelsabc.ChannelABC
    functionSourceFile: jupyter_client.channelsabc
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.abstractmethod
    functionSourceFile: ''
    functionUses: 7
    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: 11
    functionName: jupyter_client.channelsabc.ChannelABC.start
    functionSourceFile: jupyter_client.channelsabc
    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: 16
    functionName: jupyter_client.channelsabc.ChannelABC.stop
    functionSourceFile: jupyter_client.channelsabc
    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: 21
    functionName: jupyter_client.channelsabc.ChannelABC.is_alive
    functionSourceFile: jupyter_client.channelsabc
    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: jupyter_client.channelsabc.HBChannelABC
    functionSourceFile: jupyter_client.channelsabc
    functionUses: 0
    functionsReached:
    - abc.abstractproperty
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.abstractproperty
    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: 0
    functionLinenumber: 35
    functionName: jupyter_client.channelsabc.HBChannelABC.time_to_dead
    functionSourceFile: jupyter_client.channelsabc
    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: 39
    functionName: jupyter_client.channelsabc.HBChannelABC.pause
    functionSourceFile: jupyter_client.channelsabc
    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: 44
    functionName: jupyter_client.channelsabc.HBChannelABC.unpause
    functionSourceFile: jupyter_client.channelsabc
    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: 49
    functionName: jupyter_client.channelsabc.HBChannelABC.is_beating
    functionSourceFile: jupyter_client.channelsabc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.client
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - KernelClientABC.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - dct
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: jupyter_client.client.validate_string_dict
    functionSourceFile: jupyter_client.client
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    - dct.items
    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: dct.items
    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: meth.__doc__.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: basedoc.strip
    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: 1
    functionLinenumber: -1
    functionName: jupyter_client.client.KernelClient
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - traitlets.Instance
    - traitlets.Bool
    - traitlets.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: 95
    functionName: jupyter_client.client.KernelClient._context_default
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - zmq.Context
    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: 1
    functionLinenumber: 116
    functionName: jupyter_client.client.KernelClient.__del__
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.Instance.destroy
    - <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: traitlets.config.LoggingConfigurable.log.warning
    functionSourceFile: traitlets
    functionUses: 54
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.log.debug
    functionSourceFile: traitlets
    functionUses: 105
    functionsReached: []
    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: 137
    functionName: jupyter_client.client.KernelClient._async_get_shell_msg
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - jupyter_core.utils.ensure_async
    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: 141
    functionName: jupyter_client.client.KernelClient._async_get_iopub_msg
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_core.utils.ensure_async
    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: 145
    functionName: jupyter_client.client.KernelClient._async_get_stdin_msg
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_core.utils.ensure_async
    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: 149
    functionName: jupyter_client.client.KernelClient._async_get_control_msg
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - jupyter_core.utils.ensure_async
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf333fcb20>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 153
    functionName: jupyter_client.client.KernelClient._async_wait_for_ready
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - time.time
    - <builtin>.int
    - jupyter_client.asynchronous.client.wrapped
    - traitlets.Any.is_beating
    - jupyter_client.client.KernelClient._handle_kernel_info_reply
    - jupyter_client.client.KernelClient.kernel_info
    - <builtin>.float
    - jupyter_server.gateway.managers.HBChannelQueue.is_beating
    - traitlets.Instance.msg
    - jupyter_core.utils.ensure_async
    - asyncio.sleep
    - jupyter_client.blocking.client.wrapped
    - <builtin>.isinstance
    - jupyter_client.client.KernelClient._async_is_alive
    - traitlets.config.LoggingConfigurable.parent._async_is_alive
    - jupyter_server.gateway.managers.ChannelQueue.is_alive
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 2
    functionLinenumber: 394
    functionName: jupyter_client.client.KernelClient._async_is_alive
    functionSourceFile: jupyter_client.client
    functionUses: 1
    functionsReached:
    - traitlets.Any.is_beating
    - jupyter_server.gateway.managers.HBChannelQueue.is_beating
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.parent._async_is_alive
    - jupyter_server.gateway.managers.ChannelQueue.is_alive
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.sleep
    functionSourceFile: asyncio
    functionUses: 31
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 756
    functionName: jupyter_client.client.KernelClient._handle_kernel_info_reply
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf337b87c0>
    - <ast.Constant object at 0x7faf337b8be0>
    argNames:
    - self
    - msg_id
    - timeout
    - channel
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 212
    functionName: jupyter_client.client.KernelClient._async_recv_reply
    functionSourceFile: jupyter_client.client
    functionUses: 1
    functionsReached:
    - time.monotonic
    - jupyter_client.client.KernelClient._async_get_control_msg
    - jupyter_core.utils.ensure_async
    - <builtin>.max
    - jupyter_client.client.KernelClient._async_get_shell_msg
    linkageType: pythonLinkage
    raised:
    - TimeoutError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.monotonic
    functionSourceFile: time
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 234
    functionName: jupyter_client.client.KernelClient._stdin_hook_default
    functionSourceFile: jupyter_client.client
    functionUses: 1
    functionsReached:
    - sys.stdout.write
    - jupyter_client.client.KernelClient.input
    - content.get
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.stdout.write
    functionSourceFile: sys
    functionUses: 5
    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: 1
    functionLinenumber: 777
    functionName: jupyter_client.client.KernelClient.input
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 253
    functionName: jupyter_client.client.KernelClient._output_hook_default
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - stream.write
    - sys.stderr.write
    - <builtin>.getattr
    - sys.stdout.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: stream.write
    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: sys.stderr.write
    functionSourceFile: sys
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - session
    - socket
    - parent_header
    - msg
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 265
    functionName: jupyter_client.client.KernelClient._output_hook_kernel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_client.client.KernelClient._output_hook_default
    - session.send
    - stream.write
    - <builtin>.getattr
    - sys.stdout.write
    - sys.stderr.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: session.send
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7faf34ed8220>
    - <ast.Constant object at 0x7faf34ed8370>
    - <ast.Constant object at 0x7faf34ed8a00>
    - <ast.Constant object at 0x7faf34ed85e0>
    - <ast.Constant object at 0x7faf34ed8040>
    argNames:
    - self
    - shell
    - iopub
    - stdin
    - hb
    - control
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 286
    functionName: jupyter_client.client.KernelClient.start_channels
    functionSourceFile: jupyter_client.client
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 316
    functionName: jupyter_client.client.KernelClient.stop_channels
    functionSourceFile: jupyter_client.client
    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: 333
    functionName: jupyter_client.client.KernelClient.channels_running
    functionSourceFile: jupyter_client.client
    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: 3
    functionLinenumber: 346
    functionName: jupyter_client.client.KernelClient.shell_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.Type
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.connect.ConnectionFileMixin.connect_shell
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - channel
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 624
    functionName: jupyter_client.connect.ConnectionFileMixin._make_url
    functionSourceFile: jupyter_client.connect
    functionUses: 20
    functionsReached:
    - <builtin>.getattr
    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 0x7faf34dae7f0>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 656
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_shell
    functionSourceFile: jupyter_client.connect
    functionUses: 2
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    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: 3
    functionLinenumber: 356
    functionName: jupyter_client.client.KernelClient.iopub_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.connect_iopub
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.Type
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - sock.setsockopt
    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 0x7faf34daee50>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 650
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_iopub
    functionSourceFile: jupyter_client.connect
    functionUses: 2
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - sock.setsockopt
    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: 3
    functionLinenumber: 366
    functionName: jupyter_client.client.KernelClient.stdin_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.Type
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    - jupyter_client.connect.ConnectionFileMixin.connect_stdin
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    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 0x7faf34dae3a0>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 660
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_stdin
    functionSourceFile: jupyter_client.connect
    functionUses: 2
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    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: 376
    functionName: jupyter_client.client.KernelClient.hb_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.getattr
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Type
    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: 3
    functionLinenumber: 385
    functionName: jupyter_client.client.KernelClient.control_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.Type
    - jupyter_client.connect.ConnectionFileMixin.connect_control
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    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 0x7faf34db3ac0>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 668
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_control
    functionSourceFile: jupyter_client.connect
    functionUses: 2
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.parent._async_is_alive
    functionSourceFile: traitlets
    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: 666
    functionName: jupyter_server.gateway.managers.HBChannelQueue.is_beating
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 3
    functionsReached:
    - jupyter_server.gateway.managers.ChannelQueue.is_alive
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Any.is_beating
    functionSourceFile: traitlets
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 25
    ICount: 5
    IfCount: 17
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7faf35f4b760>
    - <ast.Constant object at 0x7faf35f4b730>
    - <ast.Constant object at 0x7faf35f4b700>
    - <ast.Constant object at 0x7faf35f4b6d0>
    - <ast.Constant object at 0x7faf35f4b6a0>
    - <ast.Constant object at 0x7faf35f4b670>
    - <ast.Constant object at 0x7faf35f4b640>
    - <ast.Constant object at 0x7faf35f4b610>
    argNames:
    - self
    - code
    - silent
    - store_history
    - user_expressions
    - allow_stdin
    - stop_on_error
    - timeout
    - output_hook
    - stdin_hook
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 410
    functionName: jupyter_client.client.KernelClient._async_execute_interactive
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - time.monotonic
    - zmq.Poller
    - jupyter_client.client.KernelClient.input
    - <builtin>.int
    - jupyter_client.asynchronous.client.wrapped
    - poller.register
    - jupyter_client.client.validate_string_dict
    - IPython.get_ipython
    - jupyter_client.blocking.client.wrapped
    - jupyter_client.client.KernelClient._async_recv_reply
    - jupyter_client.client.KernelClient._output_hook_default
    - jupyter_client.client.KernelClient._async_get_control_msg
    - jupyter_core.utils.ensure_async
    - <builtin>.getattr
    - <builtin>.dict
    - dct.items
    - sys.stderr.write
    - jupyter_client.client.KernelClient.execute
    - functools.partial
    - content.get
    - poller.poll
    - traitlets.Instance.msg
    - stream.write
    - jupyter_client.client.KernelClient._stdin_hook_default
    - sys.stdout.write
    - <builtin>.isinstance
    - <builtin>.max
    - jupyter_client.client.KernelClient._async_get_shell_msg
    linkageType: pythonLinkage
    raised:
    - TimeoutError
    - 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: IPython.get_ipython
    functionSourceFile: IPython
    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: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: poller.register
    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: poller.poll
    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: traitlets.Instance.msg
    functionSourceFile: traitlets
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: KernelClientABC.register
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.manager
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    - contextlib.contextmanager
    - KernelManagerABC.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.TypeVar
    functionSourceFile: typing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 61
    functionName: jupyter_client.manager._get_future
    functionSourceFile: jupyter_client.manager
    functionUses: 2
    functionsReached:
    - asyncio.futures.Future
    - asyncio.get_running_loop
    - concurrent.futures.Future
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: asyncio.futures.Future
    functionSourceFile: asyncio
    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: concurrent.futures.Future
    functionSourceFile: concurrent
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 71
    functionName: jupyter_client.manager.in_pending_state
    functionSourceFile: jupyter_client.manager
    functionUses: 1
    functionsReached:
    - typing.no_type_check
    - 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: typing.no_type_check
    functionSourceFile: ''
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 79
    functionName: jupyter_client.manager.in_pending_state.wrapper
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - asyncio.futures.Future
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - asyncio.get_running_loop
    - jupyter_client.manager.KernelManager.stop_restarter
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - traitlets.config.LoggingConfigurable.log.debug
    - asyncio.wait_for
    - <builtin>.str
    - conn2.get
    - jupyter_client.manager.KernelManager._async_interrupt_kernel
    - uuid.uuid4
    - traitlets.Instance.clone
    - traitlets.Instance.socket
    - info.get
    - jupyter_client.manager.KernelManager._async_finish_shutdown
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - jupyter_client.manager.KernelManager._async_start_kernel
    - os.path.exists
    - conn1.get
    - <builtin>.all
    - info.update
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_client.manager.KernelManager._async_kill_kernel
    - jupyter_client.manager.KernelManager._async_signal_kernel
    - jupyter_client.manager.KernelManager._async_cleanup_resources
    - jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    - jupyter_client.manager._get_future
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - json.load
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.manager.KernelManager._connect_control_socket
    - asyncio.ensure_future
    - traitlets.Instance.send
    - key.encode
    - jupyter_client.manager.KernelManager._async_post_start_kernel
    - <builtin>.setattr
    - jupyter_client.manager.KernelManager.start_restarter
    - jupyter_client.manager.KernelManager._async_pre_start_kernel
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - sock.connect
    - jupyter_client.manager.KernelManager._async_wait
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    - <builtin>.getattr
    - typing.cast
    - jupyter_client.manager.KernelManager._async_request_shutdown
    - jupyter_client.manager.KernelManager._async_shutdown_kernel
    - kw.pop
    - <builtin>.isinstance
    - jupyter_client.localinterfaces.localhost
    - jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    - kw.copy
    - os.path.splitext
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_client.manager.KernelManager._async_is_alive
    - traitlets.Instance.msg
    - asyncio.sleep
    - os.remove
    - jupyter_client.manager.KernelManager._async_launch_kernel
    - concurrent.futures.Future
    - jupyter_client.manager.KernelManager._close_control_socket
    - traitlets.Instance.destroy
    - <builtin>.max
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 384
    functionName: jupyter_client.manager.KernelManager._async_start_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 2
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.str
    - conn2.get
    - uuid.uuid4
    - traitlets.Instance.clone
    - traitlets.Instance.socket
    - info.get
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - os.path.exists
    - conn1.get
    - <builtin>.all
    - info.update
    - jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - json.load
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.manager.KernelManager._connect_control_socket
    - key.encode
    - jupyter_client.manager.KernelManager._async_post_start_kernel
    - <builtin>.setattr
    - jupyter_client.manager.KernelManager.start_restarter
    - jupyter_client.manager.KernelManager._async_pre_start_kernel
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - <builtin>.getattr
    - kw.pop
    - jupyter_client.localinterfaces.localhost
    - kw.copy
    - os.path.splitext
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - traitlets.config.SingletonConfigurable.instance
    - os.remove
    - jupyter_client.manager.KernelManager._async_launch_kernel
    - <builtin>.isinstance
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf3331cd60>
    - <ast.Constant object at 0x7faf3331cd30>
    argNames:
    - self
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 478
    functionName: jupyter_client.manager.KernelManager._async_shutdown_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 2
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - jupyter_client.manager.KernelManager.stop_restarter
    - traitlets.config.LoggingConfigurable.log.debug
    - asyncio.wait_for
    - jupyter_client.manager.KernelManager._async_interrupt_kernel
    - traitlets.Instance.socket
    - jupyter_client.manager.KernelManager._async_finish_shutdown
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_client.manager.KernelManager._async_kill_kernel
    - jupyter_client.manager.KernelManager._async_signal_kernel
    - jupyter_client.manager.KernelManager._async_cleanup_resources
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.manager.KernelManager._connect_control_socket
    - asyncio.ensure_future
    - traitlets.Instance.send
    - jupyter_client.manager.KernelManager._async_wait
    - jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    - sock.connect
    - typing.cast
    - <builtin>.getattr
    - jupyter_client.manager.KernelManager._async_request_shutdown
    - <builtin>.isinstance
    - jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    - jupyter_client.manager.KernelManager._async_is_alive
    - traitlets.Instance.msg
    - asyncio.sleep
    - os.remove
    - jupyter_client.manager.KernelManager._close_control_socket
    - traitlets.Instance.destroy
    - <builtin>.max
    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: 106
    functionName: jupyter_client.manager.KernelManager.__init__
    functionSourceFile: jupyter_client.manager
    functionUses: 4
    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: 2
    functionLinenumber: -1
    functionName: jupyter_client.manager.KernelManager
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - traitlets.default
    - jupyter_client.manager.in_pending_state
    - traitlets.Float
    - traitlets.Type
    - traitlets.Unicode
    - traitlets.Bool
    - jupyter_core.utils.run_sync
    - typing.cast
    - traitlets.Instance
    - functools.wraps
    - traitlets.observe
    - traitlets.observe_compat
    - typing.no_type_check
    - traitlets.DottedObjectName
    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: 119
    functionName: jupyter_client.manager.KernelManager._context_default
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - zmq.Context
    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: jupyter_client.manager.KernelManager._client_factory_default
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: jupyter_client.manager.KernelManager._client_class_changed
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - <builtin>.str
    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: 147
    functionName: jupyter_client.manager.KernelManager._kernel_spec_manager_default
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__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: traitlets.config.LoggingConfigurable.__init__
    functionSourceFile: ''
    functionUses: 33
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.observe_compat
    functionSourceFile: ''
    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
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 152
    functionName: jupyter_client.manager.KernelManager._kernel_spec_manager_changed
    functionSourceFile: jupyter_client.manager
    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: traitlets.Float
    functionSourceFile: traitlets
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 172
    functionName: jupyter_client.manager.KernelManager._kernel_name_changed
    functionSourceFile: jupyter_client.manager
    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: 180
    functionName: jupyter_client.manager.KernelManager.kernel_spec
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.kernel_spec_manager.get_kernel_spec
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.kernel_spec_manager.get_kernel_spec
    functionSourceFile: traitlets
    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: 190
    functionName: jupyter_client.manager.KernelManager._default_cache_ports
    functionSourceFile: jupyter_client.manager
    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: 194
    functionName: jupyter_client.manager.KernelManager.ready
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - jupyter_client.manager._get_future
    - asyncio.futures.Future
    - asyncio.get_running_loop
    - concurrent.futures.Future
    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: 201
    functionName: jupyter_client.manager.KernelManager.ipykernel
    functionSourceFile: jupyter_client.manager
    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: 2
    functionLinenumber: 216
    functionName: jupyter_client.manager.KernelManager.__del__
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - jupyter_client.manager.KernelManager._close_control_socket
    - os.remove
    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: 332
    functionName: jupyter_client.manager.KernelManager._close_control_socket
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 429
    functionName: jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 6
    functionsReached:
    - os.remove
    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: 224
    functionName: jupyter_client.manager.KernelManager.start_restarter
    functionSourceFile: jupyter_client.manager
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 228
    functionName: jupyter_client.manager.KernelManager.stop_restarter
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    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 0x7faf35380c70>
    argNames:
    - self
    - callback
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 232
    functionName: jupyter_client.manager.KernelManager.add_restart_callback
    functionSourceFile: jupyter_client.manager
    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 0x7faf332adb80>
    argNames:
    - self
    - callback
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 238
    functionName: jupyter_client.manager.KernelManager.remove_restart_callback
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 248
    functionName: jupyter_client.manager.KernelManager.client
    functionSourceFile: jupyter_client.manager
    functionUses: 2
    functionsReached:
    - kw.update
    - traitlets.utils.importstring.import_item
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - info.update
    - traitlets.Instance.clone
    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 0x7faf34da87f0>
    argNames:
    - self
    - session
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 381
    functionName: jupyter_client.connect.ConnectionFileMixin.get_connection_info
    functionSourceFile: jupyter_client.connect
    functionUses: 10
    functionsReached:
    - traitlets.Instance.clone
    - info.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: kw.update
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf358887f0>
    argNames:
    - self
    - extra_arguments
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 267
    functionName: jupyter_client.manager.KernelManager.format_kernel_cmd
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - re.compile
    - os.path.realpath
    - pat.sub
    - ns.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: os.path.realpath
    functionSourceFile: os
    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: ns.update
    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:
    - match
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 303
    functionName: jupyter_client.manager.KernelManager.format_kernel_cmd.from_ns
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - match.group
    - ns.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: match.group
    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: ns.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: pat.sub
    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
    - kernel_cmd
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 309
    functionName: jupyter_client.manager.KernelManager._async_launch_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - conn2.get
    - traitlets.Instance.clone
    - info.get
    - os.path.exists
    - conn1.get
    - <builtin>.all
    - info.update
    - jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - json.load
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - key.encode
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - <builtin>.getattr
    - jupyter_client.localinterfaces.localhost
    - os.path.splitext
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - os.remove
    - <builtin>.isinstance
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 556
    functionName: jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    functionSourceFile: jupyter_client.connect
    functionUses: 4
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - conn2.get
    - traitlets.Instance.clone
    - info.get
    - os.path.exists
    - conn1.get
    - <builtin>.all
    - info.update
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - json.load
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - key.encode
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - <builtin>.getattr
    - jupyter_client.localinterfaces.localhost
    - os.path.splitext
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - os.remove
    - <builtin>.isinstance
    - <builtin>.open
    linkageType: pythonLinkage
    raised:
    - ValueError
    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: 327
    functionName: jupyter_client.manager.KernelManager._connect_control_socket
    functionSourceFile: jupyter_client.manager
    functionUses: 7
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    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 0x7faf3631f9d0>
    argNames:
    - self
    - channel
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 635
    functionName: jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    functionSourceFile: jupyter_client.connect
    functionUses: 18
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 338
    functionName: jupyter_client.manager.KernelManager._async_pre_start_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - kw.copy
    - traitlets.config.SingletonConfigurable.instance
    - <builtin>.str
    - uuid.uuid4
    - kw.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: kw.pop
    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: kw.copy
    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: traitlets.config.SingletonConfigurable.instance
    functionSourceFile: traitlets
    functionUses: 38
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 368
    functionName: jupyter_client.manager.KernelManager._async_post_start_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - jupyter_client.manager.KernelManager._connect_control_socket
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.manager.KernelManager.start_restarter
    - sock.connect
    - <builtin>.getattr
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf35964190>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 406
    functionName: jupyter_client.manager.KernelManager._async_request_shutdown
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - jupyter_client.manager.KernelManager._connect_control_socket
    - traitlets.Instance.send
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.Instance.msg
    - sock.connect
    - <builtin>.getattr
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.send
    functionSourceFile: traitlets
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 8
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf33335430>
    - <ast.Constant object at 0x7faf33335400>
    - <ast.Constant object at 0x7faf333353d0>
    argNames:
    - self
    - waittime
    - pollinterval
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 419
    functionName: jupyter_client.manager.KernelManager._async_finish_shutdown
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.manager.KernelManager._async_wait
    - jupyter_client.manager.KernelManager._async_is_alive
    - jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    - asyncio.wait_for
    - asyncio.sleep
    - jupyter_client.manager.KernelManager._async_kill_kernel
    - <builtin>.max
    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 0x7faf333146a0>
    argNames:
    - self
    - pollinterval
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 656
    functionName: jupyter_client.manager.KernelManager._async_wait
    functionSourceFile: jupyter_client.manager
    functionUses: 5
    functionsReached:
    - jupyter_client.manager.KernelManager._async_is_alive
    - asyncio.sleep
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.wait_for
    functionSourceFile: asyncio
    functionUses: 5
    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 0x7faf33327ee0>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 564
    functionName: jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf333278b0>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 572
    functionName: jupyter_client.manager.KernelManager._async_kill_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 4
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_client.manager.KernelManager._async_is_alive
    - jupyter_client.manager.KernelManager._async_wait
    - asyncio.wait_for
    - asyncio.sleep
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf33331a30>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 460
    functionName: jupyter_client.manager.KernelManager._async_cleanup_resources
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    - os.remove
    - jupyter_client.manager.KernelManager._close_control_socket
    - traitlets.Instance.destroy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 442
    functionName: jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    functionSourceFile: jupyter_client.connect
    functionUses: 4
    functionsReached:
    - os.remove
    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: 4
    functionLinenumber: 595
    functionName: jupyter_client.manager.KernelManager._async_interrupt_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - jupyter_client.manager.KernelManager._connect_control_socket
    - asyncio.ensure_future
    - traitlets.Instance.send
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.Instance.msg
    - sock.connect
    - jupyter_client.manager.KernelManager._async_signal_kernel
    - typing.cast
    - <builtin>.getattr
    - <builtin>.isinstance
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf3332ae80>
    - <ast.Constant object at 0x7faf3332ae50>
    argNames:
    - self
    - now
    - newports
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 516
    functionName: jupyter_client.manager.KernelManager._async_restart_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - jupyter_client.manager.KernelManager.stop_restarter
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - traitlets.config.LoggingConfigurable.log.debug
    - asyncio.wait_for
    - <builtin>.str
    - conn2.get
    - jupyter_client.manager.KernelManager._async_interrupt_kernel
    - uuid.uuid4
    - traitlets.Instance.socket
    - traitlets.Instance.clone
    - info.get
    - jupyter_client.manager.KernelManager._async_finish_shutdown
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - jupyter_client.manager.KernelManager._async_start_kernel
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.exists
    - conn1.get
    - info.update
    - <builtin>.all
    - jupyter_client.manager.KernelManager._async_kill_kernel
    - jupyter_client.manager.KernelManager._async_signal_kernel
    - jupyter_client.manager.KernelManager._async_cleanup_resources
    - jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    - jupyter_client.connect.ConnectionFileMixin.cleanup_random_ports
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - json.load
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.manager.KernelManager._connect_control_socket
    - asyncio.ensure_future
    - traitlets.Instance.send
    - key.encode
    - jupyter_client.manager.KernelManager._async_post_start_kernel
    - <builtin>.setattr
    - jupyter_client.manager.KernelManager._async_wait
    - jupyter_client.manager.KernelManager.start_restarter
    - jupyter_client.manager.KernelManager._async_pre_start_kernel
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - <builtin>.getattr
    - typing.cast
    - jupyter_client.manager.KernelManager._async_request_shutdown
    - jupyter_client.manager.KernelManager._async_shutdown_kernel
    - kw.pop
    - <builtin>.isinstance
    - jupyter_client.localinterfaces.localhost
    - jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    - kw.copy
    - os.path.splitext
    - jupyter_client.manager.KernelManager._async_is_alive
    - traitlets.config.SingletonConfigurable.instance
    - traitlets.Instance.msg
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - asyncio.sleep
    - os.remove
    - jupyter_client.manager.KernelManager._async_launch_kernel
    - jupyter_client.manager.KernelManager._close_control_socket
    - traitlets.Instance.destroy
    - <builtin>.max
    - <builtin>.open
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 469
    functionName: jupyter_client.connect.ConnectionFileMixin.cleanup_random_ports
    functionSourceFile: jupyter_client.connect
    functionUses: 1
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - <builtin>.setattr
    - os.remove
    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: 560
    functionName: jupyter_client.manager.KernelManager.has_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - signum
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 628
    functionName: jupyter_client.manager.KernelManager._async_signal_kernel
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 0
    functionLinenumber: 645
    functionName: jupyter_client.manager.KernelManager._async_is_alive
    functionSourceFile: jupyter_client.manager
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.manager.AsyncKernelManager
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.DottedObjectName
    - traitlets.Instance
    - traitlets.default
    - traitlets.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: 678
    functionName: jupyter_client.manager.AsyncKernelManager._context_default
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - zmq.asyncio.Context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 682
    functionName: jupyter_client.manager.AsyncKernelManager.client
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    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: KernelManagerABC.register
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf33300b50>
    - <ast.Constant object at 0x7faf33300b20>
    argNames:
    - startup_timeout
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 727
    functionName: jupyter_client.manager.start_new_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 1
    functionsReached:
    - kw.update
    - kc.stop_channels
    - jupyter_client.manager.KernelManager.client
    - traitlets.utils.importstring.import_item
    - kc.wait_for_ready
    - jupyter_client.manager.KernelManager.__init__
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - kc.start_channels
    - info.update
    - <builtin>.super
    - jupyter_client.manager.AsyncKernelManager.client
    - jupyter_core.utils.run_sync
    - traitlets.Instance.clone
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kc.start_channels
    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: kc.wait_for_ready
    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: kc.stop_channels
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf3330ee20>
    - <ast.Constant object at 0x7faf3330edf0>
    argNames:
    - startup_timeout
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 745
    functionName: jupyter_client.manager.start_new_async_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - kc.stop_channels
    - kc.wait_for_ready
    - jupyter_client.manager.KernelManager.__init__
    - kc.start_channels
    - <builtin>.super
    - jupyter_client.manager.AsyncKernelManager.client
    - jupyter_core.utils.run_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 764
    functionName: jupyter_client.manager.run_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - kw.update
    - kc.stop_channels
    - jupyter_client.manager.KernelManager.client
    - traitlets.utils.importstring.import_item
    - kc.wait_for_ready
    - jupyter_client.manager.KernelManager.__init__
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - kc.start_channels
    - info.update
    - <builtin>.super
    - jupyter_client.manager.AsyncKernelManager.client
    - jupyter_core.utils.run_sync
    - km.shutdown_kernel
    - traitlets.Instance.clone
    - jupyter_client.manager.start_new_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: km.shutdown_kernel
    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: jupyter_client.kernelspec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.List
    functionSourceFile: traitlets
    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: 1
    functionLinenumber: -1
    functionName: jupyter_client.kernelspec.KernelSpec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - traitlets.Dict
    - traitlets.Unicode
    - traitlets.CaselessStrEnum
    - traitlets.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: traitlets.CaselessStrEnum
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - resource_dir
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 35
    functionName: jupyter_client.kernelspec.KernelSpec.from_resource_dir
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - os.path.join
    - json.load
    - traitlets.HasTraits.__init__
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.load
    functionSourceFile: json
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.HasTraits.__init__
    functionSourceFile: ''
    functionUses: 15
    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: 45
    functionName: jupyter_client.kernelspec.KernelSpec.to_dict
    functionSourceFile: jupyter_client.kernelspec
    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: 58
    functionName: jupyter_client.kernelspec.KernelSpec.to_json
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - json.dumps
    - jupyter_client.kernelspec.KernelSpec.to_dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: jupyter_client.kernelspec._is_valid_kernel_name
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 9
    functionsReached:
    - _kernel_name_pat.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _kernel_name_pat.match
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 81
    functionName: jupyter_client.kernelspec._is_kernel_dir
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 8
    functionsReached:
    - os.path.join
    - os.path.isfile
    - os.path.isdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 61
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 79
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - dir
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 86
    functionName: jupyter_client.kernelspec._list_kernels_in
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 4
    functionsReached:
    - _kernel_name_pat.match
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.join
    - warnings.warn
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - f.lower
    - os.listdir
    - os.path.isdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.lower
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 111
    functionName: jupyter_client.kernelspec.NoSuchKernel.__init__
    functionSourceFile: jupyter_client.kernelspec
    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: 115
    functionName: jupyter_client.kernelspec.NoSuchKernel.__str__
    functionSourceFile: jupyter_client.kernelspec
    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: jupyter_client.kernelspec.KernelSpecManager
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - traitlets.Set
    - traitlets.List
    - traitlets.Type
    - traitlets.Unicode
    - traitlets.Bool
    - <builtin>.list
    - traitlets.observe
    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: 140
    functionName: jupyter_client.kernelspec.KernelSpecManager._data_dir_default
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_data_dir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.paths.jupyter_data_dir
    functionSourceFile: jupyter_core
    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: 145
    functionName: jupyter_client.kernelspec.KernelSpecManager._user_kernel_dir_default
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 171
    functionName: jupyter_client.kernelspec.KernelSpecManager._deprecated_trait
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.setattr
    - <builtin>.getattr
    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: 193
    functionName: jupyter_client.kernelspec.KernelSpecManager._kernel_dirs_default
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_path.append
    - os.path.join
    - IPython.paths.get_ipython_dir
    - jupyter_core.paths.jupyter_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: jupyter_core.paths.jupyter_path
    functionSourceFile: jupyter_core
    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: IPython.paths.get_ipython_dir
    functionSourceFile: IPython
    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: jupyter_core.paths.jupyter_path.append
    functionSourceFile: jupyter_core
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 206
    functionName: jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 3
    functionsReached:
    - _kernel_name_pat.match
    - kernels.items
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - os.path.join
    - warnings.warn
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - d.items
    - jupyter_client.kernelspec._list_kernels_in
    - f.lower
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.listdir
    - os.path.isdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernels.items
    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: d.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    - resource_dir
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 235
    functionName: jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 3
    functionsReached:
    - ipykernel.kernelspec.get_kernel_dict
    - traitlets.config.SingletonConfigurable.instance
    - traitlets.Type.from_resource_dir
    - traitlets.Type
    linkageType: pythonLinkage
    raised:
    - NoSuchKernel
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ipykernel.kernelspec.get_kernel_dict
    functionSourceFile: ipykernel
    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: traitlets.Type.from_resource_dir
    functionSourceFile: traitlets
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 257
    functionName: jupyter_client.kernelspec.KernelSpecManager._find_spec_directory
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 3
    functionsReached:
    - os.path.join
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - f.lower
    - os.listdir
    - os.path.isdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 274
    functionName: jupyter_client.kernelspec.KernelSpecManager.get_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 2
    functionsReached:
    - jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name
    - jupyter_client.kernelspec.KernelSpecManager._find_spec_directory
    - _kernel_name_pat.match
    - traitlets.Type
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.join
    - traitlets.config.SingletonConfigurable.instance
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - kernel_name.lower
    - f.lower
    - jupyter_client.kernelspec._is_valid_kernel_name
    - ipykernel.kernelspec.get_kernel_dict
    - traitlets.Type.from_resource_dir
    - os.listdir
    - os.path.isdir
    linkageType: pythonLinkage
    raised:
    - NoSuchKernel
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernel_name.lower
    functionSourceFile: <builtin>
    functionUses: 5
    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: 4
    functionLinenumber: 291
    functionName: jupyter_client.kernelspec.KernelSpecManager.get_all_specs
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - warnings.warn
    - d.items
    - _kernel_name_pat.match
    - kernels.items
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_client.kernelspec._list_kernels_in
    - kernel_name.lower
    - ipykernel.kernelspec.get_kernel_dict
    - os.path.isdir
    - jupyter_client.kernelspec.KernelSpecManager._find_spec_directory
    - jupyter_client.kernelspec.KernelSpecManager.get_kernel_spec
    - f.lower
    - traitlets.Type.from_resource_dir
    - os.listdir
    - jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name
    - traitlets.Type
    - os.path.join
    - traitlets.config.SingletonConfigurable.instance
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - spec.to_dict
    - jupyter_client.kernelspec._is_valid_kernel_name
    - jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: spec.to_dict
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 323
    functionName: jupyter_client.kernelspec.KernelSpecManager.remove_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - _kernel_name_pat.match
    - kernels.items
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - os.path.join
    - warnings.warn
    - f.lower
    - os.path.isfile
    - os.remove
    - jupyter_client.kernelspec._is_kernel_dir
    - d.items
    - jupyter_client.kernelspec._list_kernels_in
    - shutil.rmtree
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.islink
    - os.listdir
    - os.path.isdir
    - jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.islink
    functionSourceFile: os
    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: os.remove
    functionSourceFile: os
    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: shutil.rmtree
    functionSourceFile: shutil
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf34edbf10>
    - <ast.Constant object at 0x7faf34edb8b0>
    argNames:
    - self
    - kernel_name
    - user
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 342
    functionName: jupyter_client.kernelspec.KernelSpecManager._get_destination_dir
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 2
    functionsReached:
    - os.path.join
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.abspath
    functionSourceFile: os
    functionUses: 104
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 8
    IfCount: 6
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7faf35d72370>
    - <ast.Constant object at 0x7faf35d723a0>
    - <ast.Constant object at 0x7faf35d723d0>
    - <ast.Constant object at 0x7faf35d72400>
    argNames:
    - self
    - source_dir
    - kernel_name
    - user
    - replace
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 350
    functionName: jupyter_client.kernelspec.KernelSpecManager.install_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 1
    functionsReached:
    - _kernel_name_pat.match
    - jupyter_client.kernelspec.KernelSpecManager._get_destination_dir
    - os.path.abspath
    - os.path.basename
    - traitlets.config.LoggingConfigurable.log.warning
    - shutil.copytree
    - os.path.join
    - warnings.warn
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.log.info
    - os.path.dirname
    - shutil.rmtree
    - kernel_name.lower
    - source_dir.rstrip
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.isdir
    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: source_dir.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: os.path.basename
    functionSourceFile: os
    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: os.path.dirname
    functionSourceFile: os
    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: traitlets.config.LoggingConfigurable.log.info
    functionSourceFile: traitlets
    functionUses: 33
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shutil.copytree
    functionSourceFile: shutil
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf34245f40>
    argNames:
    - self
    - user
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 405
    functionName: jupyter_client.kernelspec.KernelSpecManager.install_native_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 1
    functionsReached:
    - ipykernel.kernelspec.install
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ipykernel.kernelspec.install
    functionSourceFile: ipykernel
    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: 4
    functionLinenumber: 416
    functionName: jupyter_client.kernelspec.find_kernel_specs
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - _kernel_name_pat.match
    - kernels.items
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.join
    - warnings.warn
    - traitlets.config.LoggingConfigurable.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - d.items
    - jupyter_client.kernelspec._list_kernels_in
    - f.lower
    - jupyter_client.kernelspec._is_valid_kernel_name
    - jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs
    - os.listdir
    - os.path.isdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kernel_name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 421
    functionName: jupyter_client.kernelspec.get_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name
    - jupyter_client.kernelspec.KernelSpecManager._find_spec_directory
    - jupyter_client.kernelspec.KernelSpecManager.get_kernel_spec
    - _kernel_name_pat.match
    - traitlets.Type
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.join
    - traitlets.config.SingletonConfigurable.instance
    - traitlets.config.LoggingConfigurable.__init__
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - kernel_name.lower
    - f.lower
    - jupyter_client.kernelspec._is_valid_kernel_name
    - ipykernel.kernelspec.get_kernel_dict
    - traitlets.Type.from_resource_dir
    - os.listdir
    - os.path.isdir
    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 0x7faf34245520>
    - <ast.Constant object at 0x7faf342454f0>
    - <ast.Constant object at 0x7faf342454c0>
    - <ast.Constant object at 0x7faf34245490>
    argNames:
    - source_dir
    - kernel_name
    - user
    - replace
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 429
    functionName: jupyter_client.kernelspec.install_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - _kernel_name_pat.match
    - jupyter_client.kernelspec.KernelSpecManager._get_destination_dir
    - os.path.basename
    - os.path.abspath
    - traitlets.config.LoggingConfigurable.log.warning
    - shutil.copytree
    - os.path.join
    - traitlets.config.LoggingConfigurable.__init__
    - warnings.warn
    - traitlets.config.LoggingConfigurable.log.info
    - traitlets.config.LoggingConfigurable.log.debug
    - os.path.dirname
    - jupyter_client.kernelspec.KernelSpecManager.install_kernel_spec
    - kernel_name.lower
    - source_dir.rstrip
    - jupyter_client.kernelspec._is_valid_kernel_name
    - shutil.rmtree
    - os.path.isdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7faf34271fa0>
    argNames:
    - user
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 437
    functionName: jupyter_client.kernelspec.install_native_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - ipykernel.kernelspec.install
    - jupyter_client.kernelspec.KernelSpecManager.install_native_kernel_spec
    - warnings.warn
    - traitlets.config.LoggingConfigurable.__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: jupyter_client.provisioning
    functionSourceFile: jupyter_client.provisioning
    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: jupyter_client.provisioning.local_provisioner
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    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: 36
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.has_process
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    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: 0
    functionLinenumber: 39
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.poll
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 46
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.wait
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner.poll
    - <builtin>.getattr
    - fid.close
    - asyncio.sleep
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fid.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - signum
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 67
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.send_signal
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 2
    functionsReached:
    - ctypes.windll.kernel32.SetEvent
    - <builtin>.hasattr
    - jupyter_client.win_interrupt.send_interrupt
    - os.killpg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - interrupt_handle
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: jupyter_client.win_interrupt.send_interrupt
    functionSourceFile: jupyter_client.win_interrupt
    functionUses: 3
    functionsReached:
    - ctypes.windll.kernel32.SetEvent
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.killpg
    functionSourceFile: os
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf355ee310>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 95
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.kill
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner._tolerate_no_process
    - jupyter_client.win_interrupt.send_interrupt
    - ctypes.windll.kernel32.SetEvent
    - os.killpg
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner.send_signal
    - <builtin>.isinstance
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - os_error
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 126
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner._tolerate_no_process
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf337ba6d0>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 110
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.terminate
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner._tolerate_no_process
    - jupyter_client.win_interrupt.send_interrupt
    - ctypes.windll.kernel32.SetEvent
    - os.killpg
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner.send_signal
    - <builtin>.isinstance
    - <builtin>.hasattr
    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 0x7faf34ed8970>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 140
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.cleanup
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - lpc.return_port
    - traitlets.config.SingletonConfigurable.instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lpc.return_port
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 155
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.pre_launch
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.parent.write_connection_file
    - kwargs.pop
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_client.localinterfaces.local_ips
    - <builtin>.super
    - traitlets.config.LoggingConfigurable.parent.get_connection_info
    - lpc.find_available_port
    - traitlets.config.LoggingConfigurable.parent.format_kernel_cmd
    - jupyter_client.localinterfaces.is_local_ip
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - ip
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 287
    functionName: jupyter_client.localinterfaces.is_local_ip
    functionSourceFile: ''
    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: 269
    functionName: jupyter_client.localinterfaces.local_ips
    functionSourceFile: ''
    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: lpc.find_available_port
    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: traitlets.config.LoggingConfigurable.parent.write_connection_file
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable.parent.get_connection_info
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable.parent.format_kernel_cmd
    functionSourceFile: traitlets
    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
    - cmd
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 202
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.launch_kernel
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - os.getpgid
    - scrubbed_kwargs.pop
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner._scrub_kwargs
    - <builtin>.hasattr
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner.launch_kernel
    - kwargs.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 218
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner._scrub_kwargs
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 1
    functionsReached:
    - scrubbed_kwargs.pop
    - kwargs.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.getpgid
    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: kwargs.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: scrubbed_kwargs.pop
    functionSourceFile: <builtin>
    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: 1
    functionLinenumber: 226
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.get_provisioner_info
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - provisioner_info.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: provisioner_info.update
    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: []
    argNames:
    - self
    - provisioner_info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 232
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.load_provisioner_info
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: jupyter_client.launcher
    functionSourceFile: jupyter_client.launcher
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 6
    IfCount: 8
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7faf351c9190>
    - <ast.Constant object at 0x7faf351c9e50>
    - <ast.Constant object at 0x7faf351c9a90>
    - <ast.Constant object at 0x7faf351c9f40>
    - <ast.Constant object at 0x7faf351c9a60>
    - <ast.Constant object at 0x7faf351c9e80>
    argNames:
    - cmd
    - stdin
    - stdout
    - stderr
    - env
    - independent
    - cwd
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 13
    functionName: jupyter_client.launcher.launch_kernel
    functionSourceFile: jupyter_client.launcher
    functionUses: 0
    functionsReached:
    - kwargs.update
    - kwargs.items
    - warnings.warn
    - <builtin>.str
    - _subprocess.DuplicateHandle
    - ctypes.sizeof
    - <builtin>.int
    - subprocess.Popen
    - jupyter_client.win_interrupt.create_interrupt_event
    - _winapi.GetCurrentProcess
    - _winapi.DuplicateHandle
    - os.getpid
    - ctypes.windll.kernel32.CreateEventA
    - subprocess.Popen.stdin.close
    - ctypes.pointer
    - _subprocess.GetCurrentProcess
    - ctypes.Structure.__init__
    - os.path.expanduser
    - traitlets.log.get_logger.error
    - sys.executable.endswith
    - kw.copy
    - os.environ.copy
    - msg.format
    - kwargs.setdefault
    - traitlets.log.get_logger
    - env.get
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.executable.endswith
    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: os.environ.copy
    functionSourceFile: os
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.update
    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: 11
    functionName: jupyter_client.win_interrupt.create_interrupt_event
    functionSourceFile: jupyter_client.win_interrupt
    functionUses: 1
    functionsReached:
    - ctypes.sizeof
    - ctypes.windll.kernel32.CreateEventA
    - ctypes.Structure.__init__
    - ctypes.pointer
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _subprocess.GetCurrentProcess
    functionSourceFile: _subprocess
    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: _winapi.GetCurrentProcess
    functionSourceFile: _winapi
    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: _winapi.DuplicateHandle
    functionSourceFile: _winapi
    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: _subprocess.DuplicateHandle
    functionSourceFile: _subprocess
    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.expanduser
    functionSourceFile: os
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: subprocess.Popen
    functionSourceFile: subprocess
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.items
    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: env.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: msg.format
    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: traitlets.log.get_logger.error
    functionSourceFile: traitlets
    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: subprocess.Popen.stdin.close
    functionSourceFile: subprocess
    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: jupyter_client.win_interrupt
    functionSourceFile: jupyter_client.win_interrupt
    functionUses: 0
    functionsReached:
    - typing.no_type_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ctypes.Structure.__init__
    functionSourceFile: ''
    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: ctypes.pointer
    functionSourceFile: ctypes
    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: ctypes.sizeof
    functionSourceFile: ctypes
    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: ctypes.windll.kernel32.CreateEventA
    functionSourceFile: ctypes
    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: ctypes.windll.kernel32.SetEvent
    functionSourceFile: ctypes
    functionUses: 4
    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: jupyter_client.localinterfaces
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 0
    functionsReached:
    - re.compile
    - jupyter_client.localinterfaces._requires_ips
    - jupyter_client.localinterfaces._only_once
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - elems
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 18
    functionName: jupyter_client.localinterfaces._uniq_stable
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 9
    functionsReached:
    - seen.add
    - <builtin>.set
    - value.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.append
    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: seen.add
    functionSourceFile: <builtin>
    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:
    - cmd
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 33
    functionName: jupyter_client.localinterfaces._get_output
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 6
    functionsReached:
    - stderr.decode
    - subprocess.Popen.communicate
    - stdout.decode
    - subprocess.Popen
    - subprocess.STARTUPINFO
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: subprocess.STARTUPINFO
    functionSourceFile: subprocess
    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: subprocess.Popen.communicate
    functionSourceFile: subprocess
    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: stderr.decode
    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: stdout.decode
    functionSourceFile: <builtin>
    functionUses: 7
    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: 47
    functionName: jupyter_client.localinterfaces._only_once
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 51
    functionName: jupyter_client.localinterfaces._only_once.wrapped
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - warnings.warn
    - seen.add
    - LOCAL_IPS.extend
    - ip.startswith
    - line.strip
    - value.append
    - local_ips.insert
    - <builtin>.set
    - jupyter_client.localinterfaces._load_ips_dumb
    - <builtin>.all
    - local_ips.append
    - jupyter_client.localinterfaces._load_ips_gethostbyname
    - subprocess.Popen
    - jupyter_client.localinterfaces._populate_from_list
    - jupyter_client.localinterfaces._load_ips_ifconfig
    - addr.startswith
    - subprocess.STARTUPINFO
    - netifaces.ifaddresses
    - m.group
    - socket.gethostbyname_ex
    - netifaces.interfaces
    - iface.startswith
    - stderr.decode
    - public_ips.append
    - entry.get
    - subprocess.Popen.communicate
    - stdout.decode
    - local_ips.extend
    - socket.gethostname
    - jupyter_client.localinterfaces._uniq_stable
    - addrs.append
    - jupyter_client.localinterfaces._load_ips_netifaces
    - jupyter_client.localinterfaces._load_ips_ip
    - jupyter_client.localinterfaces._load_ips_ipconfig
    - hostname.endswith
    - jupyter_client.localinterfaces._get_output
    - _ipconfig_ipv4_pat.match
    - jupyter_client.localinterfaces._load_ips
    - _ifconfig_ipv4_pat.match
    - out.splitlines
    - line.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7faf3323ba30>
    argNames:
    - suppress_exceptions
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 223
    functionName: jupyter_client.localinterfaces._load_ips
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - warnings.warn
    - seen.add
    - LOCAL_IPS.extend
    - ip.startswith
    - line.strip
    - value.append
    - local_ips.insert
    - <builtin>.set
    - jupyter_client.localinterfaces._load_ips_dumb
    - <builtin>.all
    - local_ips.append
    - jupyter_client.localinterfaces._load_ips_gethostbyname
    - subprocess.Popen
    - jupyter_client.localinterfaces._populate_from_list
    - jupyter_client.localinterfaces._load_ips_ifconfig
    - addr.startswith
    - subprocess.STARTUPINFO
    - netifaces.ifaddresses
    - m.group
    - netifaces.interfaces
    - iface.startswith
    - stderr.decode
    - public_ips.append
    - entry.get
    - subprocess.Popen.communicate
    - stdout.decode
    - local_ips.extend
    - socket.gethostname
    - jupyter_client.localinterfaces._uniq_stable
    - addrs.append
    - jupyter_client.localinterfaces._load_ips_netifaces
    - jupyter_client.localinterfaces._load_ips_ip
    - jupyter_client.localinterfaces._load_ips_ipconfig
    - hostname.endswith
    - jupyter_client.localinterfaces._get_output
    - _ipconfig_ipv4_pat.match
    - socket.gethostbyname_ex
    - _ifconfig_ipv4_pat.match
    - out.splitlines
    - line.lower
    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: 61
    functionName: jupyter_client.localinterfaces._requires_ips
    functionSourceFile: jupyter_client.localinterfaces
    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:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 64
    functionName: jupyter_client.localinterfaces._requires_ips.ips_loaded
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - warnings.warn
    - seen.add
    - LOCAL_IPS.extend
    - ip.startswith
    - line.strip
    - value.append
    - local_ips.insert
    - out.splitlines
    - <builtin>.set
    - jupyter_client.localinterfaces._load_ips_dumb
    - <builtin>.all
    - local_ips.append
    - jupyter_client.localinterfaces._load_ips_gethostbyname
    - subprocess.Popen
    - jupyter_client.localinterfaces._populate_from_list
    - jupyter_client.localinterfaces._load_ips_ifconfig
    - addr.startswith
    - subprocess.STARTUPINFO
    - netifaces.ifaddresses
    - m.group
    - socket.gethostbyname_ex
    - netifaces.interfaces
    - iface.startswith
    - stderr.decode
    - public_ips.append
    - entry.get
    - jupyter_client.localinterfaces.public_ips
    - subprocess.Popen.communicate
    - stdout.decode
    - local_ips.extend
    - socket.gethostname
    - jupyter_client.localinterfaces._uniq_stable
    - addrs.append
    - jupyter_client.localinterfaces.is_public_ip
    - jupyter_client.localinterfaces.localhost
    - jupyter_client.localinterfaces._load_ips_netifaces
    - jupyter_client.localinterfaces.is_local_ip
    - jupyter_client.localinterfaces._load_ips_ip
    - jupyter_client.localinterfaces._load_ips_ipconfig
    - hostname.endswith
    - jupyter_client.localinterfaces._get_output
    - _ipconfig_ipv4_pat.match
    - jupyter_client.localinterfaces._load_ips
    - _ifconfig_ipv4_pat.match
    - jupyter_client.localinterfaces.local_ips
    - line.lower
    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: 275
    functionName: jupyter_client.localinterfaces.public_ips
    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:
    - ip
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 293
    functionName: jupyter_client.localinterfaces.is_public_ip
    functionSourceFile: ''
    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: 281
    functionName: jupyter_client.localinterfaces.localhost
    functionSourceFile: ''
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - addrs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 76
    functionName: jupyter_client.localinterfaces._populate_from_list
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 6
    functionsReached:
    - <builtin>.set
    - public_ips.append
    - seen.add
    - local_ips.append
    - local_ips.extend
    - jupyter_client.localinterfaces._uniq_stable
    - ip.startswith
    - local_ips.insert
    - value.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: local_ips.append
    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: ip.startswith
    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: public_ips.append
    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: local_ips.insert
    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: local_ips.extend
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 105
    functionName: jupyter_client.localinterfaces._load_ips_ifconfig
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - seen.add
    - line.strip
    - value.append
    - local_ips.insert
    - <builtin>.set
    - local_ips.append
    - subprocess.Popen
    - jupyter_client.localinterfaces._populate_from_list
    - subprocess.STARTUPINFO
    - m.group
    - stderr.decode
    - public_ips.append
    - subprocess.Popen.communicate
    - stdout.decode
    - local_ips.extend
    - jupyter_client.localinterfaces._uniq_stable
    - addrs.append
    - jupyter_client.localinterfaces._get_output
    - ip.startswith
    - _ifconfig_ipv4_pat.match
    - out.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: out.splitlines
    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: line.strip
    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: _ifconfig_ipv4_pat.match
    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: m.group
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: addrs.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 123
    functionName: jupyter_client.localinterfaces._load_ips_ip
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - seen.add
    - ip.startswith
    - local_ips.insert
    - value.append
    - <builtin>.set
    - local_ips.append
    - subprocess.Popen
    - jupyter_client.localinterfaces._populate_from_list
    - subprocess.STARTUPINFO
    - stderr.decode
    - public_ips.append
    - subprocess.Popen.communicate
    - stdout.decode
    - local_ips.extend
    - jupyter_client.localinterfaces._uniq_stable
    - jupyter_client.localinterfaces._get_output
    - addrs.append
    - out.splitlines
    - line.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: line.lower
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 139
    functionName: jupyter_client.localinterfaces._load_ips_ipconfig
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - seen.add
    - line.strip
    - value.append
    - local_ips.insert
    - <builtin>.set
    - local_ips.append
    - subprocess.Popen
    - jupyter_client.localinterfaces._populate_from_list
    - subprocess.STARTUPINFO
    - m.group
    - stderr.decode
    - public_ips.append
    - subprocess.Popen.communicate
    - stdout.decode
    - local_ips.extend
    - jupyter_client.localinterfaces._uniq_stable
    - addrs.append
    - jupyter_client.localinterfaces._get_output
    - _ipconfig_ipv4_pat.match
    - ip.startswith
    - out.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _ipconfig_ipv4_pat.match
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 152
    functionName: jupyter_client.localinterfaces._load_ips_netifaces
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - netifaces.interfaces
    - <builtin>.set
    - iface.startswith
    - public_ips.append
    - seen.add
    - entry.get
    - local_ips.append
    - local_ips.extend
    - jupyter_client.localinterfaces._uniq_stable
    - addr.startswith
    - local_ips.insert
    - netifaces.ifaddresses
    - value.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: netifaces.interfaces
    functionSourceFile: netifaces
    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: netifaces.ifaddresses
    functionSourceFile: netifaces
    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: entry.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: iface.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: addr.startswith
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 182
    functionName: jupyter_client.localinterfaces._load_ips_gethostbyname
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - <builtin>.set
    - seen.add
    - <builtin>.all
    - hostname.endswith
    - socket.gethostname
    - jupyter_client.localinterfaces._uniq_stable
    - LOCAL_IPS.extend
    - ip.startswith
    - socket.gethostbyname_ex
    - value.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socket.gethostbyname_ex
    functionSourceFile: socket
    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: socket.gethostname
    functionSourceFile: socket
    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: hostname.endswith
    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>.all
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_IPS.extend
    functionSourceFile: <builtin>
    functionUses: 4
    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: 214
    functionName: jupyter_client.localinterfaces._load_ips_dumb
    functionSourceFile: jupyter_client.localinterfaces
    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: 0
    functionLinenumber: -1
    functionName: jupyter_client.connect
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 10
    IfCount: 12
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7faf3630f790>
    - <ast.Constant object at 0x7faf3630f760>
    - <ast.Constant object at 0x7faf3630f730>
    - <ast.Constant object at 0x7faf3630f700>
    - <ast.Constant object at 0x7faf3630f6d0>
    - <ast.Constant object at 0x7faf3630f6a0>
    - <ast.Constant object at 0x7faf3630f670>
    - <ast.Constant object at 0x7faf3630f640>
    - <ast.Constant object at 0x7faf3630f610>
    - <ast.Constant object at 0x7faf3630f5e0>
    - <ast.Constant object at 0x7faf3630f5b0>
    argNames:
    - fname
    - shell_port
    - iopub_port
    - stdin_port
    - hb_port
    - control_port
    - ip
    - key
    - transport
    - signature_scheme
    - kernel_name
    argTypes:
    - 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: 31
    functionName: jupyter_client.connect.write_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - socket.socket
    - <builtin>.str
    - <builtin>.range
    - os.close
    - f.write
    - <builtin>.int
    - os.path.exists
    - sockets.append
    - os.path.dirname
    - ports.append
    - tempfile.mkstemp
    - sock.getsockname
    - os.stat
    - sock.bind
    - <builtin>.hasattr
    - json.dumps
    - jupyter_client.localinterfaces.localhost
    - jupyter_core.paths.secure_write
    - ports.pop
    - sock.close
    - os.chmod
    - key.decode
    - sock.setsockopt
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.mkstemp
    functionSourceFile: tempfile
    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.close
    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: <builtin>.range
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socket.socket
    functionSourceFile: socket
    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: sock.setsockopt
    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: sock.bind
    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: sockets.append
    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: sock.getsockname
    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: sock.close
    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: ports.append
    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: os.path.exists
    functionSourceFile: os
    functionUses: 69
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ports.pop
    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: key.decode
    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: jupyter_core.paths.secure_write
    functionSourceFile: jupyter_core
    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: f.write
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.stat
    functionSourceFile: os
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf355f46d0>
    - <ast.Constant object at 0x7faf355f4b20>
    - <ast.Constant object at 0x7faf355f4070>
    argNames:
    - filename
    - path
    - profile
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 168
    functionName: jupyter_client.connect.find_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - os.path.abspath
    - glob.glob
    - matches.extend
    - <builtin>.len
    - os.path.join
    - warnings.warn
    - jupyter_client.utils._expand_path
    - os.path.expanduser
    - os.path.isfile
    - os.path.isabs
    - find_connection_file.strip
    - jupyter_core.paths.jupyter_runtime_dir
    - os.getcwd
    - s.replace
    - <builtin>.isinstance
    - os.path.expandvars
    - jupyter_client.utils._filefind
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.paths.jupyter_runtime_dir
    functionSourceFile: jupyter_core
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf332ad2e0>
    argNames:
    - filename
    - path_dirs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 11
    functionName: jupyter_client.utils._filefind
    functionSourceFile: jupyter_client.utils
    functionUses: 4
    functionsReached:
    - os.path.abspath
    - os.path.join
    - jupyter_client.utils._expand_path
    - os.path.expanduser
    - os.path.isfile
    - os.path.isabs
    - find_connection_file.strip
    - os.getcwd
    - s.replace
    - <builtin>.isinstance
    - os.path.expandvars
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: glob.glob
    functionSourceFile: glob
    functionUses: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: matches.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: 1
    functionLinenumber: -1
    functionName: jupyter_client.connect.find_connection_file.<lambda1>
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - os.stat
    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 0x7faf34719b80>
    argNames:
    - connection_info
    - sshserver
    - sshkey
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 230
    functionName: jupyter_client.connect.tunnel_to_kernel
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - sock.getsockname
    - sock.close
    - jupyter_client.ssh.tunnel.select_random_ports
    - socket.socket
    - json.loads
    - jupyter_client.ssh.tunnel.try_passwordless_ssh
    - sockets.append
    - <builtin>.zip
    - <builtin>.range
    - <builtin>.tuple
    - typing.cast
    - sock.bind
    - ports.append
    - f.read
    - getpass.getpass
    - <builtin>.isinstance
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - n
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 39
    functionName: jupyter_client.ssh.tunnel.select_random_ports
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 3
    functionsReached:
    - sock.getsockname
    - sock.close
    - socket.socket
    - sockets.append
    - <builtin>.range
    - sock.bind
    - ports.append
    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 0x7faf34f018e0>
    argNames:
    - server
    - keyfile
    - paramiko
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 59
    functionName: jupyter_client.ssh.tunnel.try_passwordless_ssh
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: getpass.getpass
    functionSourceFile: getpass
    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: <builtin>.zip
    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: 1
    functionLinenumber: -1
    functionName: jupyter_client.connect.ConnectionFileMixin
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - traitlets.Type
    - traitlets.Unicode
    - traitlets.Bool
    - traitlets.CaselessStrEnum
    - traitlets.Instance
    - traitlets.observe
    - traitlets.Integer
    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: 311
    functionName: jupyter_client.connect.ConnectionFileMixin._data_dir_default
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_data_dir
    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: 1
    functionLinenumber: 340
    functionName: jupyter_client.connect.ConnectionFileMixin._ip_default
    functionSourceFile: jupyter_client.connect
    functionUses: 11
    functionsReached:
    - os.path.splitext
    - jupyter_client.localinterfaces.localhost
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.splitext
    functionSourceFile: os
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 350
    functionName: jupyter_client.connect.ConnectionFileMixin._ip_changed
    functionSourceFile: jupyter_client.connect
    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: 366
    functionName: jupyter_client.connect.ConnectionFileMixin.ports
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    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: 6
    functionLinenumber: 372
    functionName: jupyter_client.connect.ConnectionFileMixin._session_default
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - jupyter_client.session.utcnow
    - jupyter_client.session.json_packer
    - <builtin>.len
    - warnings.warn
    - jupyter_client.jsonutil.json_clean
    - <builtin>.str
    - math.isinf
    - obj.items
    - datetime.datetime.utcnow
    - json.loads
    - traitlets.utils.importstring.import_item
    - <builtin>.int
    - <builtin>.set
    - jupyter_client.session.Session.__init__
    - obj.strftime
    - <builtin>.float
    - s.decode
    - pickle.dumps
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session._check_packers
    - os.getpid
    - jupyter_client.session.pickle_packer
    - pickle.loads
    - traitlets.log.get_logger.warning
    - obj.isoformat
    - <builtin>.map
    - <builtin>.super
    - <builtin>.type
    - <builtin>.list
    - jupyter_client.session.Session._new_auth
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - jupyter_client.session.json_unpacker
    - <builtin>.hasattr
    - json.dumps
    - hmac.HMAC
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.jsonutil.squash_dates
    - math.isnan
    - <builtin>.repr
    - binascii.b2a_base64
    - <builtin>.isinstance
    - traitlets.log.get_logger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.clone
    functionSourceFile: traitlets
    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: info.update
    functionSourceFile: <builtin>
    functionUses: 11
    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: 422
    functionName: jupyter_client.connect.ConnectionFileMixin.blocking_client
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - traitlets.Type
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - info.update
    - bc.load_connection_info
    - traitlets.Instance.clone
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bc.load_connection_info
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 453
    functionName: jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    functionSourceFile: jupyter_client.connect
    functionUses: 12
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 484
    functionName: jupyter_client.connect.ConnectionFileMixin.write_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 8
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - os.path.exists
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf36310b80>
    argNames:
    - self
    - connection_file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 509
    functionName: jupyter_client.connect.ConnectionFileMixin.load_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 4
    functionsReached:
    - key.encode
    - info.get
    - os.path.splitext
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - <builtin>.getattr
    - jupyter_client.localinterfaces.localhost
    - <builtin>.isinstance
    - json.load
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 525
    functionName: jupyter_client.connect.ConnectionFileMixin.load_connection_info
    functionSourceFile: jupyter_client.connect
    functionUses: 10
    functionsReached:
    - key.encode
    - os.path.splitext
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - <builtin>.getattr
    - <builtin>.isinstance
    - info.get
    - jupyter_client.localinterfaces.localhost
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: info.get
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.encode
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - conn1
    - conn2
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 603
    functionName: jupyter_client.connect.ConnectionFileMixin._equal_connections
    functionSourceFile: jupyter_client.connect
    functionUses: 5
    functionsReached:
    - conn1.get
    - <builtin>.all
    - conn2.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: conn1.get
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn2.get
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.socket
    functionSourceFile: traitlets
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.connect
    functionSourceFile: <builtin>
    functionUses: 22
    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 0x7faf34db3f10>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 664
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_hb
    functionSourceFile: jupyter_client.connect
    functionUses: 1
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 684
    functionName: jupyter_client.connect.LocalPortCache.__init__
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - ip
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 688
    functionName: jupyter_client.connect.LocalPortCache.find_available_port
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - tmp_sock.getsockname
    - tmp_sock.setsockopt
    - socket.socket
    - tmp_sock.bind
    - traitlets.config.SingletonConfigurable.currently_used_ports.add
    - tmp_sock.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_sock.setsockopt
    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: tmp_sock.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: tmp_sock.getsockname
    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: tmp_sock.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: traitlets.config.SingletonConfigurable.currently_used_ports.add
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - port
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 702
    functionName: jupyter_client.connect.LocalPortCache.return_port
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - traitlets.config.SingletonConfigurable.currently_used_ports.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: traitlets.config.SingletonConfigurable.currently_used_ports.remove
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    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: 1
    functionLinenumber: -1
    functionName: jupyter_client.ssh.tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - re.compile
    - warnings.catch_warnings
    - warnings.simplefilter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.catch_warnings
    functionSourceFile: warnings
    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: warnings.simplefilter
    functionSourceFile: warnings
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - server
    - keyfile
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 72
    functionName: jupyter_client.ssh.tunnel._try_passwordless_openssh
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - env.pop
    - pexpect.spawn
    - p.expect
    - os.environ.copy
    linkageType: pythonLinkage
    raised:
    - ImportError
    - SSHException
    returnType: N/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.pop
    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: pexpect.spawn
    functionSourceFile: pexpect
    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: p.expect
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - server
    - keyfile
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 102
    functionName: jupyter_client.ssh.tunnel._try_passwordless_paramiko
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 1
    functionsReached:
    - paramiko.SSHClient
    - <builtin>.int
    - getpass.getuser
    - client.close
    - jupyter_client.ssh.tunnel._split_server
    - client.load_system_host_keys
    - client.connect
    - client.set_missing_host_key_policy
    - paramiko.WarningPolicy
    - server.split
    linkageType: pythonLinkage
    raised:
    - ImportError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - server
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 284
    functionName: jupyter_client.ssh.tunnel._split_server
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 3
    functionsReached:
    - <builtin>.int
    - server.split
    - getpass.getuser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paramiko.SSHClient
    functionSourceFile: paramiko
    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: client.load_system_host_keys
    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: paramiko.WarningPolicy
    functionSourceFile: paramiko
    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: client.set_missing_host_key_policy
    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: client.connect
    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: client.close
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7faf355eebe0>
    - <ast.Constant object at 0x7faf355eefa0>
    - <ast.Constant object at 0x7faf355ee1c0>
    - <ast.Constant object at 0x7faf355ee190>
    argNames:
    - socket
    - addr
    - server
    - keyfile
    - password
    - paramiko
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 124
    functionName: jupyter_client.ssh.tunnel.tunnel_connection
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - addr.split
    - sock.getsockname
    - sock.close
    - jupyter_client.ssh.tunnel.select_random_ports
    - socket.socket
    - socket.connect
    - <builtin>.range
    - sockets.append
    - jupyter_client.ssh.tunnel.open_tunnel
    - ports.append
    - sock.bind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7faf337babe0>
    - <ast.Constant object at 0x7faf337ba640>
    - <ast.Constant object at 0x7faf337ba460>
    - <ast.Constant object at 0x7faf337ba4c0>
    argNames:
    - addr
    - server
    - keyfile
    - password
    - paramiko
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 145
    functionName: jupyter_client.ssh.tunnel.open_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 1
    functionsReached:
    - <builtin>.int
    - addr.split
    - sock.getsockname
    - sock.close
    - jupyter_client.ssh.tunnel.select_random_ports
    - socket.socket
    - sockets.append
    - <builtin>.range
    - sock.bind
    - ports.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: socket.connect
    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: addr.split
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 6
    IfCount: 9
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7faf34719430>
    - <ast.Constant object at 0x7faf34719130>
    - <ast.Constant object at 0x7faf347199a0>
    - <ast.Constant object at 0x7faf347197c0>
    argNames:
    - lport
    - rport
    - server
    - remoteip
    - keyfile
    - password
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 176
    functionName: jupyter_client.ssh.tunnel.openssh_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - env.pop
    - <builtin>.int
    - atexit.register
    - pexpect.spawn
    - os.environ.copy
    - output.find
    - getpass.getpass
    - pexpect.run
    - warnings.warn
    - cmd.replace
    - tunnel.wait
    - tunnel.sendline
    - server.split
    - tunnel.expect
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    - ImportError
    - SSHException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: server.split
    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: pexpect.run
    functionSourceFile: pexpect
    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: output.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: cmd.replace
    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: tunnel.expect
    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: tunnel.wait
    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: tunnel.sendline
    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:
    - cmd
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 280
    functionName: jupyter_client.ssh.tunnel._stop_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - pexpect.run
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: getpass.getuser
    functionSourceFile: getpass
    functionUses: 4
    functionsReached: []
    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 0x7faf351c9f40>
    - <ast.Constant object at 0x7faf351c9af0>
    - <ast.Constant object at 0x7faf351c9640>
    - <ast.Constant object at 0x7faf351c9250>
    argNames:
    - lport
    - rport
    - server
    - remoteip
    - keyfile
    - password
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 297
    functionName: jupyter_client.ssh.tunnel.paramiko_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - paramiko.SSHClient
    - <builtin>.int
    - multiprocessing.Process.start
    - getpass.getuser
    - multiprocessing.Process
    - jupyter_client.ssh.tunnel._try_passwordless_paramiko
    - client.set_missing_host_key_policy
    - client.close
    - jupyter_client.ssh.tunnel._split_server
    - client.load_system_host_keys
    - client.connect
    - server.split
    - paramiko.WarningPolicy
    - getpass.getpass
    linkageType: pythonLinkage
    raised:
    - ImportError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: multiprocessing.Process
    functionSourceFile: multiprocessing
    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: multiprocessing.Process.start
    functionSourceFile: multiprocessing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 12
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7faf34568f70>
    - <ast.Constant object at 0x7faf34568fa0>
    argNames:
    - lport
    - rport
    - server
    - remoteip
    - keyfile
    - password
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 356
    functionName: jupyter_client.ssh.tunnel._paramiko_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - paramiko.SSHClient
    - <builtin>.int
    - getpass.getuser
    - signal.signal
    - warnings.warn
    - jupyter_client.ssh.forward.forward_tunnel
    - paramiko.WarningPolicy
    - sys.exit
    - jupyter_client.ssh.tunnel._split_server
    - client.load_system_host_keys
    - client.connect
    - client.set_missing_host_key_policy
    - client.get_transport
    - server.split
    - socketserver.ThreadingTCPServer.__init__
    - socketserver.ThreadingTCPServer.serve_forever
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.exit
    functionSourceFile: sys
    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: 0
    functionLinenumber: -1
    functionName: signal.signal
    functionSourceFile: signal
    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: client.get_transport
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - local_port
    - remote_host
    - remote_port
    - transport
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 89
    functionName: jupyter_client.ssh.forward.forward_tunnel
    functionSourceFile: jupyter_client.ssh.forward
    functionUses: 1
    functionsReached:
    - socketserver.ThreadingTCPServer.__init__
    - socketserver.ThreadingTCPServer.serve_forever
    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: jupyter_client.ssh.forward
    functionSourceFile: jupyter_client.ssh.forward
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.ssh.forward.Handler
    functionSourceFile: jupyter_client.ssh.forward
    functionUses: 0
    functionsReached:
    - typing.no_type_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 9
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: jupyter_client.ssh.forward.Handler.handle
    functionSourceFile: jupyter_client.ssh.forward
    functionUses: 0
    functionsReached:
    - socketserver.BaseRequestHandler.request.send
    - socketserver.BaseRequestHandler.request.close
    - logger.debug
    - chan.getpeername
    - <builtin>.len
    - socketserver.BaseRequestHandler.ssh_transport.open_channel
    - socketserver.BaseRequestHandler.request.recv
    - chan.close
    - socketserver.BaseRequestHandler.request.getpeername
    - select.select
    - <builtin>.repr
    - chan.send
    - chan.recv
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socketserver.BaseRequestHandler.request.getpeername
    functionSourceFile: socketserver
    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: socketserver.BaseRequestHandler.ssh_transport.open_channel
    functionSourceFile: socketserver
    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.debug
    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: chan.getpeername
    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: select.select
    functionSourceFile: select
    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: socketserver.BaseRequestHandler.request.recv
    functionSourceFile: socketserver
    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: chan.send
    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: chan.recv
    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: socketserver.BaseRequestHandler.request.send
    functionSourceFile: socketserver
    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: chan.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: socketserver.BaseRequestHandler.request.close
    functionSourceFile: socketserver
    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: socketserver.ThreadingTCPServer.__init__
    functionSourceFile: ''
    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: socketserver.ThreadingTCPServer.serve_forever
    functionSourceFile: socketserver
    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: jupyter_client.ssh
    functionSourceFile: jupyter_client.ssh
    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: jupyter_client.utils
    functionSourceFile: jupyter_client.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: find_connection_file.strip
    functionSourceFile: find_connection_file
    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: os.path.isabs
    functionSourceFile: os
    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: 0
    functionLinenumber: -1
    functionName: os.getcwd
    functionSourceFile: os
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: jupyter_client.utils._expand_path
    functionSourceFile: jupyter_client.utils
    functionUses: 5
    functionsReached:
    - s.replace
    - os.path.expanduser
    - os.path.expandvars
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.replace
    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: os.path.expandvars
    functionSourceFile: os
    functionUses: 9
    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: jupyter_client.provisioning.factory
    functionSourceFile: jupyter_client.provisioning.factory
    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: traitlets.config.Unicode
    functionSourceFile: traitlets
    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: jupyter_client.provisioning.factory.KernelProvisionerFactory
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - traitlets.config.default
    - traitlets.config.Unicode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.default
    functionSourceFile: traitlets
    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: 46
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory._default_provisioner_name_default
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - os.getenv
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.getenv
    functionSourceFile: os
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 50
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory.__init__
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - importlib.metadata.entry_points
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_all_provisioners
    - importlib_metadata.entry_points
    - <builtin>.super
    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: 167
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory._get_all_provisioners
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 1
    functionsReached:
    - importlib.metadata.entry_points
    - importlib_metadata.entry_points
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_spec
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 57
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory.is_provisioner_available
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - kernel_spec.metadata.get
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner_config
    - glob.glob
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._check_availability
    - <builtin>.str
    - importlib_metadata.entry_points
    - importlib.metadata.EntryPoint
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner
    - os.path.dirname
    - env_provisioner.update
    - importlib.metadata.entry_points
    - importlib_metadata.EntryPoint
    - provisioner_cfg.get
    - traitlets.config.SingletonConfigurable.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_spec
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 125
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner_config
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 2
    functionsReached:
    - env_provisioner.update
    - kernel_spec.metadata.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: provisioner_cfg.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - provisioner_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 106
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory._check_availability
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 2
    functionsReached:
    - glob.glob
    - importlib_metadata.entry_points
    - traitlets.config.SingletonConfigurable.log.warning
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner
    - os.path.dirname
    - importlib.metadata.entry_points
    - importlib.metadata.EntryPoint
    - importlib_metadata.EntryPoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.SingletonConfigurable.log.warning
    functionSourceFile: traitlets
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - kernel_spec
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 76
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory.create_provisioner_instance
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - kernel_spec.metadata.get
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner_config
    - glob.glob
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._check_availability
    - <builtin>.str
    - importlib_metadata.entry_points
    - importlib.metadata.EntryPoint
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner
    - os.path.dirname
    - env_provisioner.update
    - importlib.metadata.entry_points
    - importlib_metadata.EntryPoint
    - provisioner_cfg.get
    - traitlets.config.SingletonConfigurable.log.debug
    - traitlets.config.SingletonConfigurable.log.warning
    linkageType: pythonLinkage
    raised:
    - ModuleNotFoundError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.SingletonConfigurable.log.debug
    functionSourceFile: traitlets
    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
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 171
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 3
    functionsReached:
    - glob.glob
    - importlib_metadata.entry_points
    - importlib.metadata.EntryPoint
    - os.path.dirname
    - traitlets.config.SingletonConfigurable.log.warning
    - importlib.metadata.entry_points
    - importlib_metadata.EntryPoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernel_spec.metadata.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: env_provisioner.update
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 154
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory.get_provisioner_entries
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - traitlets.config.SingletonConfigurable.provisioners.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: traitlets.config.SingletonConfigurable.provisioners.items
    functionSourceFile: traitlets
    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.metadata.entry_points
    functionSourceFile: importlib
    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: importlib_metadata.entry_points
    functionSourceFile: importlib_metadata
    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: importlib_metadata.EntryPoint
    functionSourceFile: importlib_metadata
    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: importlib.metadata.EntryPoint
    functionSourceFile: importlib
    functionUses: 4
    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: jupyter_client.provisioning.provisioner_base
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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: traitlets.config.Instance
    functionSourceFile: traitlets
    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: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    functionsReached:
    - traitlets.config.Instance
    - traitlets.config.Unicode
    - abc.abstractmethod
    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: 38
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.has_process
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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: 48
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.poll
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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: 58
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.wait
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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
    - signum
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 69
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.send_signal
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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 0x7faf35b4b970>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 79
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.kill
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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 0x7faf35b4b490>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 92
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.terminate
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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
    - cmd
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 106
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.launch_kernel
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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 0x7faf332adc10>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 116
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.cleanup
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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 0x7faf34719880>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 127
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.shutdown_requested
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 139
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.pre_launch
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    functionsReached:
    - abc.ABC.kernel_spec.language.lower
    - env.pop
    - kwargs.pop
    - env.update
    - jupyter_client.provisioning.provisioner_base.KernelProvisionerBase._finalize_env
    - substituted_env.update
    - abc.ABC.kernel_spec.env.items
    - jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.__apply_env_substitutions
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - substitution_values
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 236
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.__apply_env_substitutions
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 1
    functionsReached:
    - substituted_env.update
    - abc.ABC.kernel_spec.env.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: env.update
    functionSourceFile: <builtin>
    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:
    - self
    - env
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 222
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase._finalize_env
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 1
    functionsReached:
    - abc.ABC.kernel_spec.language.lower
    - env.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 164
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.post_launch
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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: 173
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_provisioner_info
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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
    - provisioner_info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 188
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.load_provisioner_info
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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 0x7faf34d217f0>
    argNames:
    - self
    - recommended
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 202
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_shutdown_wait_time
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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 0x7faf34665e20>
    argNames:
    - self
    - recommended
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 213
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_stable_start_time
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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: abc.ABC.kernel_spec.language.lower
    functionSourceFile: abc
    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: abc.ABC.kernel_spec.env.items
    functionSourceFile: abc
    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: substituted_env.update
    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: 0
    functionLinenumber: -1
    functionName: jupyter_client.managerabc
    functionSourceFile: jupyter_client.managerabc
    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: jupyter_client.managerabc.KernelManagerABC
    functionSourceFile: jupyter_client.managerabc
    functionUses: 0
    functionsReached:
    - abc.abstractproperty
    - abc.abstractmethod
    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: 16
    functionName: jupyter_client.managerabc.KernelManagerABC.kernel
    functionSourceFile: jupyter_client.managerabc
    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
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: jupyter_client.managerabc.KernelManagerABC.start_kernel
    functionSourceFile: jupyter_client.managerabc
    functionUses: 0
    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 0x7faf34d219a0>
    - <ast.Constant object at 0x7faf34d21a30>
    argNames:
    - self
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 29
    functionName: jupyter_client.managerabc.KernelManagerABC.shutdown_kernel
    functionSourceFile: jupyter_client.managerabc
    functionUses: 0
    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 0x7faf337ba2b0>
    argNames:
    - self
    - now
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 34
    functionName: jupyter_client.managerabc.KernelManagerABC.restart_kernel
    functionSourceFile: jupyter_client.managerabc
    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: 39
    functionName: jupyter_client.managerabc.KernelManagerABC.has_kernel
    functionSourceFile: jupyter_client.managerabc
    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: 43
    functionName: jupyter_client.managerabc.KernelManagerABC.interrupt_kernel
    functionSourceFile: jupyter_client.managerabc
    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
    - signum
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 48
    functionName: jupyter_client.managerabc.KernelManagerABC.signal_kernel
    functionSourceFile: jupyter_client.managerabc
    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: 53
    functionName: jupyter_client.managerabc.KernelManagerABC.is_alive
    functionSourceFile: jupyter_client.managerabc
    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: jupyter_client.blocking
    functionSourceFile: jupyter_client.blocking
    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: jupyter_client.blocking.client
    functionSourceFile: jupyter_client.blocking.client
    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
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 17
    functionName: jupyter_client.blocking.client.wrapped._
    functionSourceFile: jupyter_client.blocking.client
    functionUses: 0
    functionsReached:
    - jupyter_client.client.KernelClient.execute
    - jupyter_client.asynchronous.client.wrapped
    - jupyter_client.client.KernelClient.history
    - jupyter_client.client.KernelClient.inspect
    - kwargs.pop
    - <builtin>.len
    - traitlets.Instance.msg
    - jupyter_client.client.KernelClient.is_complete
    - jupyter_client.client.KernelClient.shutdown
    - jupyter_client.client.validate_string_dict
    - jupyter_client.blocking.client.wrapped
    - jupyter_client.client.KernelClient.comm_info
    - kwargs.setdefault
    - <builtin>.dict
    - dct.items
    - <builtin>.isinstance
    - jupyter_client.client.KernelClient.complete
    - jupyter_client.client.KernelClient.kernel_info
    linkageType: 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: jupyter_client.blocking.client.BlockingKernelClient
    functionSourceFile: jupyter_client.blocking.client
    functionUses: 0
    functionsReached:
    - jupyter_client.asynchronous.client.wrapped
    - traitlets.Type
    - parts.append
    - basedoc.strip
    - jupyter_core.utils.run_sync
    - jupyter_client.blocking.client.wrapped
    - jupyter_client.client.reqrep
    - meth.__doc__.split
    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: jupyter_client.clientabc
    functionSourceFile: jupyter_client.clientabc
    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: jupyter_client.clientabc.KernelClientABC
    functionSourceFile: jupyter_client.clientabc
    functionUses: 0
    functionsReached:
    - abc.abstractproperty
    - abc.abstractmethod
    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: 27
    functionName: jupyter_client.clientabc.KernelClientABC.kernel
    functionSourceFile: jupyter_client.clientabc
    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: 31
    functionName: jupyter_client.clientabc.KernelClientABC.shell_channel_class
    functionSourceFile: jupyter_client.clientabc
    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: 35
    functionName: jupyter_client.clientabc.KernelClientABC.iopub_channel_class
    functionSourceFile: jupyter_client.clientabc
    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: 39
    functionName: jupyter_client.clientabc.KernelClientABC.hb_channel_class
    functionSourceFile: jupyter_client.clientabc
    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: 43
    functionName: jupyter_client.clientabc.KernelClientABC.stdin_channel_class
    functionSourceFile: jupyter_client.clientabc
    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: 47
    functionName: jupyter_client.clientabc.KernelClientABC.control_channel_class
    functionSourceFile: jupyter_client.clientabc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7faf34665d90>
    - <ast.Constant object at 0x7faf346655e0>
    - <ast.Constant object at 0x7faf34665e20>
    - <ast.Constant object at 0x7faf34665ca0>
    - <ast.Constant object at 0x7faf34665460>
    argNames:
    - self
    - shell
    - iopub
    - stdin
    - hb
    - control
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 55
    functionName: jupyter_client.clientabc.KernelClientABC.start_channels
    functionSourceFile: jupyter_client.clientabc
    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: 60
    functionName: jupyter_client.clientabc.KernelClientABC.stop_channels
    functionSourceFile: jupyter_client.clientabc
    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: 65
    functionName: jupyter_client.clientabc.KernelClientABC.channels_running
    functionSourceFile: jupyter_client.clientabc
    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: 70
    functionName: jupyter_client.clientabc.KernelClientABC.shell_channel
    functionSourceFile: jupyter_client.clientabc
    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: 74
    functionName: jupyter_client.clientabc.KernelClientABC.iopub_channel
    functionSourceFile: jupyter_client.clientabc
    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: 78
    functionName: jupyter_client.clientabc.KernelClientABC.stdin_channel
    functionSourceFile: jupyter_client.clientabc
    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: 82
    functionName: jupyter_client.clientabc.KernelClientABC.hb_channel
    functionSourceFile: jupyter_client.clientabc
    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: 86
    functionName: jupyter_client.clientabc.KernelClientABC.control_channel
    functionSourceFile: jupyter_client.clientabc
    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: jupyter_server
    functionSourceFile: jupyter_server
    functionUses: 0
    functionsReached:
    - os.path.dirname
    - os.path.join
    - pathlib.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: pathlib.Path
    functionSourceFile: pathlib
    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: 20
    functionName: jupyter_server._cleanup
    functionSourceFile: jupyter_server
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server._version
    functionSourceFile: jupyter_server._version
    functionUses: 0
    functionsReached:
    - re.match
    - parts.append
    - <builtin>.int
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.base.zmqhandlers
    functionSourceFile: jupyter_server.base.zmqhandlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels
    functionSourceFile: jupyter_server.services.kernels
    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: jupyter_server.services.kernels.connection
    functionSourceFile: jupyter_server.services.kernels.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.connection.base
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 0
    functionsReached:
    - abc.ABC.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: msg.copy
    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: msg.pop
    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: buffers.insert
    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: offsets.append
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: struct.pack
    functionSourceFile: struct
    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: struct.unpack
    functionSourceFile: struct
    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: bufs.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf351d0790>
    argNames:
    - msg_or_list
    - channel
    - pack
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 76
    functionName: jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 8
    functionsReached:
    - offsets.append
    - traitlets.Instance.pack
    - offset.to_bytes
    - <builtin>.len
    - channel.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.pack
    functionSourceFile: traitlets
    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: channel.encode
    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: offset.to_bytes
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - ws_msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 99
    functionName: jupyter_server.services.kernels.connection.base.deserialize_msg_from_ws_v1
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 1
    functionsReached:
    - <builtin>.range
    - int.from_bytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: int.from_bytes
    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: 114
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.kernel_manager
    functionSourceFile: jupyter_server.services.kernels.connection.base
    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: 119
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.multi_kernel_manager
    functionSourceFile: jupyter_server.services.kernels.connection.base
    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: 124
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.kernel_id
    functionSourceFile: jupyter_server.services.kernels.connection.base
    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: 129
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.session_id
    functionSourceFile: jupyter_server.services.kernels.connection.base
    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: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 0
    functionsReached:
    - traitlets.Float
    - traitlets.Instance
    - traitlets.default
    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: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection._default_kernel_info_timeout
    functionSourceFile: jupyter_server.services.kernels.connection.base
    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: 6
    functionLinenumber: 142
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection._default_session
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - jupyter_client.session.utcnow
    - jupyter_client.session.json_packer
    - <builtin>.len
    - warnings.warn
    - jupyter_client.jsonutil.json_clean
    - <builtin>.str
    - math.isinf
    - obj.items
    - datetime.datetime.utcnow
    - json.loads
    - traitlets.utils.importstring.import_item
    - <builtin>.int
    - <builtin>.set
    - jupyter_client.session.Session.__init__
    - obj.strftime
    - <builtin>.float
    - s.decode
    - pickle.dumps
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session._check_packers
    - os.getpid
    - jupyter_client.session.pickle_packer
    - pickle.loads
    - traitlets.log.get_logger.warning
    - obj.isoformat
    - <builtin>.map
    - <builtin>.super
    - <builtin>.type
    - <builtin>.list
    - jupyter_client.session.Session._new_auth
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - jupyter_client.session.json_unpacker
    - <builtin>.hasattr
    - json.dumps
    - hmac.HMAC
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.jsonutil.squash_dates
    - math.isnan
    - <builtin>.repr
    - binascii.b2a_base64
    - <builtin>.isinstance
    - traitlets.log.get_logger
    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: 147
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.connect
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 0
    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: 151
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.disconnect
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 0
    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
    - incoming_msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 155
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.handle_incoming_message
    functionSourceFile: jupyter_server.services.kernels.connection.base
    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: []
    argNames:
    - self
    - stream
    - outgoing_msg
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 159
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.handle_outgoing_message
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 0
    functionsReached: []
    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: abc.ABC.register
    functionSourceFile: abc
    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: jupyter_server.services.kernels.connection.abc
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    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: jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    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: 16
    functionName: jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.connect
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    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: 0
    functionLinenumber: 21
    functionName: jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.disconnect
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    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
    - incoming_msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 26
    functionName: jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.handle_incoming_message
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stream
    - outgoing_msg
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 31
    functionName: jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.handle_outgoing_message
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    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: jupyter_server.services
    functionSourceFile: jupyter_server.services
    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: jupyter_server.base.websocket
    functionSourceFile: jupyter_server.base.websocket
    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: 22
    functionName: jupyter_server.base.websocket.WebSocketMixin.ping_interval
    functionSourceFile: jupyter_server.base.websocket
    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: 30
    functionName: jupyter_server.base.websocket.WebSocketMixin.ping_timeout
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.base.websocket.WebSocketMixin
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - typing.no_type_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf337ba0a0>
    argNames:
    - self
    - origin
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 40
    functionName: jupyter_server.base.websocket.WebSocketMixin.check_origin
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - re.match
    - urllib.parse.urlparse
    - origin.lower
    - <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: origin.lower
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlparse
    functionSourceFile: urllib
    functionUses: 22
    functionsReached: []
    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: 82
    functionName: jupyter_server.base.websocket.WebSocketMixin.clear_cookie
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached: []
    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: 1
    functionLinenumber: 87
    functionName: jupyter_server.base.websocket.WebSocketMixin.open
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - tornado.ioloop.PeriodicCallback
    - loop.time
    - tornado.ioloop.IOLoop.current
    - <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: loop.time
    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: tornado.ioloop.PeriodicCallback
    functionSourceFile: tornado
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 104
    functionName: jupyter_server.base.websocket.WebSocketMixin.send_ping
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 127
    functionName: jupyter_server.base.websocket.WebSocketMixin.on_pong
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.base
    functionSourceFile: jupyter_server.base
    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: jupyter_server.log
    functionSourceFile: jupyter_server.log
    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:
    - uri
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 22
    functionName: jupyter_server.log._scrub_uri
    functionSourceFile: jupyter_server.log
    functionUses: 1
    functionsReached:
    - urllib.parse.urlparse._replace
    - <builtin>.enumerate
    - s.partition
    - urllib.parse.urlparse
    - urllib.parse.urlunparse
    - urllib.parse.urlparse.query.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: urllib.parse.urlparse.query.split
    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: s.partition
    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.urlparse._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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlunparse
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - handler
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 43
    functionName: jupyter_server.log.log_request
    functionSourceFile: jupyter_server.log
    functionUses: 0
    functionsReached:
    - request.headers.get
    - tornado.log.access_log.info
    - jupyter_server.log._scrub_uri
    - s.partition
    - tornado.log.access_log.warning
    - urllib.parse.urlparse.query.split
    - <builtin>.enumerate
    - urllib.parse.urlparse
    - <builtin>.type
    - json.dumps
    - urllib.parse.urlunparse
    - urllib.parse.urlparse._replace
    - msg.format
    - tornado.log.access_log.debug
    - jupyter_server.prometheus.log_functions.prometheus_log_method
    - prometheus_client.Histogram.labels
    - handler.get_status
    - <builtin>.isinstance
    - notebook.prometheus.metrics.HTTP_REQUEST_DURATION_SECONDS.labels
    - tornado.log.access_log.error
    - handler.request.request_time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handler.get_status
    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: handler.request.request_time
    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: request.headers.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: tornado.log.access_log.debug
    functionSourceFile: tornado
    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: tornado.log.access_log.info
    functionSourceFile: tornado
    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: tornado.log.access_log.error
    functionSourceFile: tornado
    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: tornado.log.access_log.warning
    functionSourceFile: tornado
    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:
    - handler
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 5
    functionName: jupyter_server.prometheus.log_functions.prometheus_log_method
    functionSourceFile: jupyter_server.prometheus.log_functions
    functionUses: 1
    functionsReached:
    - <builtin>.type
    - prometheus_client.Histogram.labels
    - handler.get_status
    - notebook.prometheus.metrics.HTTP_REQUEST_DURATION_SECONDS.labels
    - handler.request.request_time
    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: jupyter_server.prometheus.log_functions
    functionSourceFile: jupyter_server.prometheus.log_functions
    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: prometheus_client.Histogram.labels
    functionSourceFile: prometheus_client
    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: notebook.prometheus.metrics.HTTP_REQUEST_DURATION_SECONDS.labels
    functionSourceFile: notebook
    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: jupyter_server.auth
    functionSourceFile: jupyter_server.auth
    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: jupyter_server.auth.decorator
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf337ba8e0>
    - <ast.Constant object at 0x7faf337baa30>
    - <ast.Constant object at 0x7faf337bac40>
    argNames:
    - action
    - resource
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 14
    functionName: jupyter_server.auth.decorator.authorized
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 22
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - <builtin>.callable
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 41
    functionName: jupyter_server.auth.decorator.authorized.wrapper
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 23
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 43
    functionName: jupyter_server.auth.decorator.authorized.wrapper.inner
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 1
    functionsReached:
    - os.path.split
    - output_files.items
    - jupyter_server.nbconvert.handlers.get_exporter
    - <builtin>.len
    - io.BytesIO
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - urllib.parse.quote
    - nbformat.from_dict
    - jupyter_server.utils.url_unescape
    - <builtin>.bool
    - jupyter_server.services.api.handlers.APISpecHandler.get
    - tornado.web.StaticFileHandler.get
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - tornado.log.app_log.warning
    - template.render
    - jupyter_server.services.config.handlers.ConfigHandler.get
    - jupyter_server.nbconvert.handlers.NbconvertFileHandler.get
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.handlers.ContentsHandler.put
    - jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.get
    - <builtin>.getattr
    - traceback.format_tb
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.services.contents.handlers.ContentsHandler.get
    - jupyter_server.services.contents.handlers.CheckpointsHandler.get
    - glob.glob
    - tornado.log.app_log.exception
    - tornado.web.RequestHandler.application.last_activity
    - jupyter_server.services.sessions.handlers.SessionHandler.patch
    - tornado.web.RequestHandler.finish
    - path.rsplit
    - jupyter_server.services.kernelspecs.handlers.is_kernelspec_model
    - model.setdefault
    - tornado.web.RequestHandler.request.body.decode
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.delete
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - model.get
    - kspecs.items
    - json.loads
    - jupyter_server.services.security.handlers.CSPReportHandler.post
    - path.lower
    - tornado.ioloop.IOLoop.current
    - jupyter_server.view.handlers.ViewHandler.get
    - model.keys
    - kwargs.pop
    - payload.get
    - tornado.web.RequestHandler.set_status
    - jupyter_server.utils.url_escape
    - jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    - asyncio.ensure_future
    - jupyter_server.services.kernels.handlers.KernelActionHandler.post
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.services.contents.handlers.ContentsHandler._new_untitled
    - <builtin>.hasattr
    - jupyter_server.services.kernels.handlers.MainKernelHandler.post
    - jupyter_server.services.sessions.handlers.SessionRootHandler.post
    - nbconvert.exporters.base.get_exporter
    - dt.isoformat
    - buffer.getvalue
    - jupyter_server.services.kernelspecs.handlers.KernelSpecHandler.get
    - os.path.splitext
    - os.path.join
    - path.split
    - ns.update
    - jupyter_server.nbconvert.handlers.respond_zip
    - jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.get
    - datetime.datetime.utcnow
    - jupyter_server.nbconvert.handlers.NbconvertPostHandler.post
    - jupyter_server.services.api.handlers.APIStatusHandler.get
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - parts.remove
    - os.path.exists
    - tornado.web.RequestHandler.set_header
    - resources.get
    - jupyter_server.services.events.handlers.validate_model
    - jupyter_server.services.contents.handlers.ContentsHandler._upload
    - anyio.to_thread.run_sync
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server.services.contents.handlers.ContentsHandler._copy
    - os.path.basename
    - jupyter_server.services.contents.handlers.ContentsHandler.patch
    - tornado.web.RequestHandler.redirect
    - <builtin>.super
    - tornado.web.RequestHandler.request.body.strip
    - zipf.writestr
    - path.strip
    - jupyter_server.services.kernels.handlers.KernelHandler.delete
    - json.dumps
    - jupyter_server.services.kernelspecs.handlers.kernelspec_model
    - jupyter_server.services.config.handlers.ConfigHandler.patch
    - jupyter_server.utils.url_path_join
    - jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler.get
    - zipfile.ZipFile
    - datetime.datetime.strptime
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - spec.to_dict
    - jupyter_server.services.sessions.handlers.SessionRootHandler.get
    - urllib.parse.unquote
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - tornado.web.RequestHandler.get_query_argument
    - jupyter_server.services.shutdown.ShutdownHandler.post
    - jupyter_server.services.kernels.handlers.MainKernelHandler.get
    - tornado.web.RequestHandler.write
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - jupyter_server.services.contents.handlers.CheckpointsHandler.post
    - jupyter_server.services.config.handlers.ConfigHandler.put
    - s.strip
    - output.encode
    - dt.replace
    - jupyter_server._tz.utc_aware.utc_method
    - jupyter_server.services.events.handlers.get_timestamp
    - jupyter_server.services.contents.handlers.ContentsHandler.delete
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - jupyter_server.services.kernels.handlers.KernelHandler.get
    - jupyter_server.services.sessions.handlers.SessionHandler.delete
    - jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.head
    - <builtin>.int
    - <builtin>.set
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.get_argument
    - kernel.get
    - zipf.close
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.services.contents.handlers.ContentsHandler._save
    - jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.post
    - jupyter_server.services.events.handlers.EventHandler.post
    - jupyter_server.services.contents.handlers.ContentsHandler.post
    - urllib.parse.urlparse
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.sum
    - jupyter_server._tz.isoformat
    - re.match
    - jupyter_server.services.sessions.handlers.SessionHandler.get
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.log.app_log.warning
    functionSourceFile: tornado
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - checkpoint_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 332
    functionName: jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.delete
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - kwargs.pop
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.set_status
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - datetime.datetime.utcnow
    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: 4
    functionLinenumber: 38
    functionName: jupyter_server.services.kernels.handlers.MainKernelHandler.get
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - kwargs.pop
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - json.dumps
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf33de6a90>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 301
    functionName: jupyter_server.services.contents.handlers.CheckpointsHandler.post
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - urllib.parse.quote
    - s.strip
    - datetime.datetime.utcnow
    - jupyter_server._tz.utc_aware.utc_method
    - dt.replace
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - jupyter_server.utils.url_escape
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - json.dumps
    - jupyter_server.utils.url_path_join
    - path.split
    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: 4
    functionLinenumber: 31
    functionName: jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.get
    functionSourceFile: jupyter_server.services.nbconvert.handlers
    functionUses: 2
    functionsReached:
    - anyio.to_thread.run_sync
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - json.dumps
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 29
    functionName: jupyter_server.services.config.handlers.ConfigHandler.put
    functionSourceFile: jupyter_server.services.config.handlers
    functionUses: 2
    functionsReached:
    - tornado.web.RequestHandler.request.body.strip
    - json.loads
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - tornado.web.RequestHandler.set_status
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - format
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 165
    functionName: jupyter_server.nbconvert.handlers.NbconvertPostHandler.post
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 2
    functionsReached:
    - output_files.items
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - jupyter_server.nbconvert.handlers.get_exporter
    - model.get
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - io.BytesIO
    - urllib.parse.quote
    - output.encode
    - nbformat.from_dict
    - json.loads
    - tornado.web.RequestHandler.set_header
    - resources.get
    - jupyter_server.utils.url_escape
    - zipf.close
    - anyio.to_thread.run_sync
    - os.path.basename
    - tornado.web.RequestHandler.request.body.strip
    - zipf.writestr
    - buffer.getvalue
    - nbconvert.exporters.base.get_exporter
    - os.path.splitext
    - tornado.log.app_log.exception
    - zipfile.ZipFile
    - path.split
    - jupyter_server.nbconvert.handlers.respond_zip
    - tornado.web.RequestHandler.finish
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf33dc0fd0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 274
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.delete
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - kwargs.pop
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.set_status
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - datetime.datetime.utcnow
    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: 30
    functionName: jupyter_server.services.security.handlers.CSPReportHandler.post
    functionSourceFile: jupyter_server.services.security.handlers
    functionUses: 2
    functionsReached:
    - tornado.web.RequestHandler.request.body.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 70
    functionName: jupyter_server.services.kernels.handlers.KernelHandler.get
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - kwargs.pop
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - json.dumps
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 22
    functionName: jupyter_server.view.handlers.ViewHandler.get
    functionSourceFile: jupyter_server.view.handlers
    functionUses: 2
    functionsReached:
    - tornado.web.RequestHandler.write
    - jupyter_server.utils.url_path_join
    - path.split
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - ns.update
    - jupyter_core.utils.ensure_async
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - urllib.parse.quote
    - jupyter_server.utils.url_escape
    - s.strip
    - path.strip
    - path.rsplit
    - template.render
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - session_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 186
    functionName: jupyter_server.services.sessions.handlers.SessionHandler.delete
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - datetime.datetime.utcnow
    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: 3
    functionLinenumber: 48
    functionName: jupyter_server.services.api.handlers.APIStatusHandler.get
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - datetime.datetime.utcnow
    - dt.replace
    - jupyter_server._tz.utc_aware.utc_method
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - <builtin>.sum
    - json.dumps
    - dt.isoformat
    - jupyter_server._tz.isoformat
    - tornado.web.RequestHandler.application.last_activity
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 40
    functionName: jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.head
    functionSourceFile: jupyter_server.kernelspecs.handlers
    functionUses: 2
    functionsReached:
    - tornado.web.StaticFileHandler.get
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.get
    - path.lower
    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: 30
    functionName: jupyter_server.services.api.handlers.APISpecHandler.get
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 2
    functionsReached:
    - tornado.web.StaticFileHandler.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - checkpoint_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 323
    functionName: jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.post
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - kwargs.pop
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.set_status
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - datetime.datetime.utcnow
    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: 4
    functionLinenumber: 98
    functionName: jupyter_server.services.events.handlers.EventHandler.post
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - datetime.datetime.utcnow
    - dt.replace
    - jupyter_server._tz.utc_aware.utc_method
    - jupyter_server.services.events.handlers.get_timestamp
    - json.loads
    - kwargs.pop
    - payload.get
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.services.events.handlers.validate_model
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - tornado.web.RequestHandler.request.body.strip
    - <builtin>.getattr
    - datetime.datetime.strptime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - action
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 91
    functionName: jupyter_server.services.kernels.handlers.KernelActionHandler.post
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - tornado.web.RequestHandler.write
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_status
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - traceback.format_tb
    - json.dumps
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf351c9ac0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 134
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.patch
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - model.get
    - urllib.parse.quote
    - s.strip
    - datetime.datetime.utcnow
    - dt.replace
    - jupyter_server._tz.utc_aware.utc_method
    - json.loads
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - <builtin>.set
    - kwargs.pop
    - model.keys
    - tornado.web.RequestHandler.set_header
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.utils.url_escape
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - tornado.web.RequestHandler.request.body.strip
    - <builtin>.getattr
    - json.dumps
    - jupyter_server.utils.url_path_join
    - path.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 22
    functionName: jupyter_server.services.config.handlers.ConfigHandler.get
    functionSourceFile: jupyter_server.services.config.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - json.dumps
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 8
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - format
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 96
    functionName: jupyter_server.nbconvert.handlers.NbconvertFileHandler.get
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 2
    functionsReached:
    - os.path.split
    - output_files.items
    - jupyter_server.nbconvert.handlers.get_exporter
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - io.BytesIO
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - urllib.parse.quote
    - s.strip
    - output.encode
    - <builtin>.bool
    - parts.remove
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - resources.get
    - jupyter_server.utils.url_escape
    - zipf.close
    - anyio.to_thread.run_sync
    - jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    - os.path.basename
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.redirect
    - <builtin>.super
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.settings.get
    - zipf.writestr
    - path.strip
    - tornado.web.RequestHandler.request.headers.get
    - <builtin>.hasattr
    - buffer.getvalue
    - nbconvert.exporters.base.get_exporter
    - jupyter_server.utils.url_path_join
    - os.path.splitext
    - tornado.log.app_log.exception
    - zipfile.ZipFile
    - re.match
    - path.split
    - jupyter_server.nbconvert.handlers.respond_zip
    - tornado.web.RequestHandler.finish
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf332a0550>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 197
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.post
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - model.get
    - urllib.parse.quote
    - s.strip
    - datetime.datetime.utcnow
    - jupyter_server._tz.utc_aware.utc_method
    - dt.replace
    - json.loads
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - <builtin>.set
    - kwargs.pop
    - model.keys
    - tornado.web.RequestHandler.set_header
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.utils.url_escape
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server.services.contents.handlers.ContentsHandler._copy
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - tornado.web.RequestHandler.request.body.strip
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server.services.contents.handlers.ContentsHandler._new_untitled
    - json.dumps
    - jupyter_server.utils.url_path_join
    - path.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf34ce5940>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 238
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.put
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - model.get
    - urllib.parse.quote
    - s.strip
    - datetime.datetime.utcnow
    - jupyter_server._tz.utc_aware.utc_method
    - dt.replace
    - json.loads
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - <builtin>.set
    - model.keys
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.utils.url_escape
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.services.contents.handlers.ContentsHandler._upload
    - jupyter_server.services.contents.handlers.ContentsHandler._save
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - tornado.web.RequestHandler.request.body.strip
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server.services.contents.handlers.ContentsHandler._new_untitled
    - json.dumps
    - jupyter_server.utils.url_path_join
    - path.split
    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 0x7faf34719280>
    argNames:
    - self
    - kernel_name
    - path
    - include_body
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 25
    functionName: jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.get
    functionSourceFile: jupyter_server.kernelspecs.handlers
    functionUses: 3
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - path.lower
    - jupyter_core.utils.ensure_async
    - tornado.web.StaticFileHandler.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 78
    functionName: jupyter_server.services.kernels.handlers.KernelHandler.delete
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - kwargs.pop
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.set_status
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf332ad0a0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 96
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.get
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - urllib.parse.quote
    - s.strip
    - datetime.datetime.utcnow
    - dt.replace
    - jupyter_server._tz.utc_aware.utc_method
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - <builtin>.int
    - <builtin>.set
    - kwargs.pop
    - model.keys
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.services.contents.handlers.validate_model
    - jupyter_server.utils.url_escape
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - json.dumps
    - jupyter_server.utils.url_path_join
    - path.split
    - tornado.web.RequestHandler.get_query_argument
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 37
    functionName: jupyter_server.services.config.handlers.ConfigHandler.patch
    functionSourceFile: jupyter_server.services.config.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - kwargs.pop
    - json.loads
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - tornado.web.RequestHandler.request.body.strip
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - json.dumps
    - datetime.datetime.utcnow
    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: 4
    functionLinenumber: 46
    functionName: jupyter_server.services.kernels.handlers.MainKernelHandler.post
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - model.get
    - urllib.parse.quote
    - s.strip
    - datetime.datetime.utcnow
    - jupyter_server._tz.utc_aware.utc_method
    - dt.replace
    - json.loads
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - jupyter_server.utils.url_escape
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - tornado.web.RequestHandler.request.body.strip
    - <builtin>.getattr
    - json.dumps
    - jupyter_server.utils.url_path_join
    - path.split
    - model.setdefault
    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 0x7faf33dc0250>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 292
    functionName: jupyter_server.services.contents.handlers.CheckpointsHandler.get
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - kwargs.pop
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - json.dumps
    - datetime.datetime.utcnow
    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: 4
    functionLinenumber: 46
    functionName: jupyter_server.services.sessions.handlers.SessionRootHandler.post
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - model.get
    - s.strip
    - datetime.datetime.utcnow
    - jupyter_server._tz.utc_aware.utc_method
    - dt.replace
    - json.loads
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - kernel.get
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - tornado.web.RequestHandler.request.body.strip
    - <builtin>.getattr
    - json.dumps
    - jupyter_server.utils.url_path_join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 63
    functionName: jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler.get
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 2
    functionsReached:
    - s.strip
    - datetime.datetime.utcnow
    - jupyter_server._tz.utc_aware.utc_method
    - dt.replace
    - kspecs.items
    - kwargs.pop
    - os.path.exists
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - os.path.basename
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server.services.kernelspecs.handlers.kernelspec_model
    - json.dumps
    - jupyter_server.utils.url_path_join
    - os.path.splitext
    - glob.glob
    - os.path.join
    - <builtin>.isinstance
    - jupyter_server.services.kernelspecs.handlers.is_kernelspec_model
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 95
    functionName: jupyter_server.services.kernelspecs.handlers.KernelSpecHandler.get
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 2
    functionsReached:
    - s.strip
    - datetime.datetime.utcnow
    - jupyter_server._tz.utc_aware.utc_method
    - dt.replace
    - jupyter_server.utils.url_unescape
    - kwargs.pop
    - os.path.exists
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - os.path.basename
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server.services.kernelspecs.handlers.kernelspec_model
    - json.dumps
    - jupyter_server.utils.url_path_join
    - os.path.splitext
    - glob.glob
    - os.path.join
    - path.split
    - spec.to_dict
    - <builtin>.isinstance
    - urllib.parse.unquote
    - jupyter_server.services.kernelspecs.handlers.is_kernelspec_model
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 5
    IfCount: 11
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - session_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 128
    functionName: jupyter_server.services.sessions.handlers.SessionHandler.patch
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - asyncio.ensure_future
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    - tornado.web.RequestHandler.request.body.strip
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - json.loads
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - session_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 120
    functionName: jupyter_server.services.sessions.handlers.SessionHandler.get
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - json.dumps
    - datetime.datetime.utcnow
    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: 4
    functionLinenumber: 38
    functionName: jupyter_server.services.sessions.handlers.SessionRootHandler.get
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - kwargs.pop
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - json.dumps
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 18
    functionName: jupyter_server.services.shutdown.ShutdownHandler.post
    functionSourceFile: jupyter_server.services.shutdown
    functionUses: 2
    functionsReached:
    - tornado.ioloop.IOLoop.current
    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: jupyter_server.auth.authorizer
    functionSourceFile: jupyter_server.auth.authorizer
    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: jupyter_server.auth.authorizer.Authorizer
    functionSourceFile: jupyter_server.auth.authorizer
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - handler
    - user
    - action
    - resource
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 45
    functionName: jupyter_server.auth.authorizer.Authorizer.is_authorized
    functionSourceFile: jupyter_server.auth.authorizer
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - handler
    - user
    - action
    - resource
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 79
    functionName: jupyter_server.auth.authorizer.AllowAllAuthorizer.is_authorized
    functionSourceFile: jupyter_server.auth.authorizer
    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: jupyter_server.auth.identity
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - re.compile
    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: 62
    functionName: jupyter_server.auth.identity.User.__post_init__
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.identity.User.fill_defaults
    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: 0
    functionLinenumber: 65
    functionName: jupyter_server.auth.identity.User.fill_defaults
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - got_user
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 85
    functionName: jupyter_server.auth.identity._backward_compat_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.auth.identity.IdentityProvider
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - re.compile
    - traitlets.default
    - traitlets.Type
    - traitlets.Dict
    - traitlets.Unicode.tag
    - traitlets.Unicode
    - traitlets.Bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 198
    functionName: jupyter_server.auth.identity.IdentityProvider._token_default
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - token_file.read
    - os.getenv
    - binascii.hexlify
    - os.urandom
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_file.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: binascii.hexlify
    functionSourceFile: binascii
    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
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 216
    functionName: jupyter_server.auth.identity.IdentityProvider.get_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - handler.get_secure_cookie
    - handler.set_secure_cookie
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - jupyter_server.auth.utils.get_anonymous_username
    - <builtin>.len
    - traitlets.config.LoggingConfigurable.log.debug
    - tornado.httputil.format_timestamp
    - jupyter_server.auth.identity.IdentityProvider._get_user
    - handler.add_header
    - cookie_options.setdefault
    - datetime.datetime.now
    - uuid.uuid4
    - _user_cookie.decode
    - handler.log.debug
    - json.loads
    - http.cookies.Morsel
    - jupyter_server.auth.identity.IdentityProvider.get_token
    - random.randint
    - traitlets.config.LoggingConfigurable.log.error
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.auth.identity.IdentityProvider.clear_login_cookie
    - datetime.timedelta
    - handler.get_cookie
    - morsel.OutputString
    - jupyter_server.auth.identity.IdentityProvider.get_user_cookie
    - m.group
    - handler.request.headers.get
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - cookie_options.update
    - morsel.set
    - jupyter_server.auth.identity.IdentityProvider.user_to_cookie
    - <builtin>.getattr
    - jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    - handler.get_argument
    - tornado.escape.native_str
    - json.dumps
    - jupyter_server.auth.identity.IdentityProvider._force_clear_cookie
    - handler.clear_cookie
    - jupyter_server.auth.identity.IdentityProvider.set_login_cookie
    - <builtin>.isinstance
    - _non_alphanum.sub
    - jupyter_server.auth.identity.IdentityProvider.get_user_token
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 5
    IfCount: 8
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 231
    functionName: jupyter_server.auth.identity.IdentityProvider._get_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    functionsReached:
    - handler.get_secure_cookie
    - handler.set_secure_cookie
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - jupyter_server.auth.utils.get_anonymous_username
    - <builtin>.len
    - traitlets.config.LoggingConfigurable.log.debug
    - tornado.httputil.format_timestamp
    - handler.add_header
    - cookie_options.setdefault
    - datetime.datetime.now
    - uuid.uuid4
    - _user_cookie.decode
    - handler.log.debug
    - json.loads
    - http.cookies.Morsel
    - jupyter_server.auth.identity.IdentityProvider.get_token
    - random.randint
    - traitlets.config.LoggingConfigurable.log.error
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.auth.identity.IdentityProvider.clear_login_cookie
    - datetime.timedelta
    - handler.get_cookie
    - morsel.OutputString
    - jupyter_server.auth.identity.IdentityProvider.get_user_cookie
    - m.group
    - handler.request.headers.get
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - cookie_options.update
    - morsel.set
    - jupyter_server.auth.identity.IdentityProvider.user_to_cookie
    - <builtin>.getattr
    - jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    - handler.get_argument
    - tornado.escape.native_str
    - json.dumps
    - jupyter_server.auth.identity.IdentityProvider._force_clear_cookie
    - handler.clear_cookie
    - jupyter_server.auth.identity.IdentityProvider.set_login_cookie
    - <builtin>.isinstance
    - _non_alphanum.sub
    - jupyter_server.auth.identity.IdentityProvider.get_user_token
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 432
    functionName: jupyter_server.auth.identity.IdentityProvider.get_user_token
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 2
    functionsReached:
    - handler.get_secure_cookie
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.auth.utils.get_anonymous_username
    - <builtin>.len
    - uuid.uuid4
    - _user_cookie.decode
    - handler.log.debug
    - json.loads
    - jupyter_server.auth.identity.IdentityProvider.get_token
    - random.randint
    - traitlets.config.LoggingConfigurable.log.error
    - jupyter_server.auth.identity.IdentityProvider.get_user_cookie
    - m.group
    - handler.request.headers.get
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - handler.get_argument
    - jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    - <builtin>.isinstance
    - _non_alphanum.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 393
    functionName: jupyter_server.auth.identity.IdentityProvider.get_user_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 3
    functionsReached:
    - handler.get_secure_cookie
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - traitlets.config.LoggingConfigurable.log.error
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    - _user_cookie.decode
    - json.loads
    - _non_alphanum.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - handler
    - user
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 336
    functionName: jupyter_server.auth.identity.IdentityProvider.set_login_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 2
    functionsReached:
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - handler.set_secure_cookie
    - cookie_options.update
    - jupyter_server.auth.identity.IdentityProvider.user_to_cookie
    - cookie_options.setdefault
    - json.dumps
    - _non_alphanum.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 324
    functionName: jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 6
    functionsReached:
    - _non_alphanum.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: handler.get_cookie
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 379
    functionName: jupyter_server.auth.identity.IdentityProvider.clear_login_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 2
    functionsReached:
    - jupyter_server.auth.identity.IdentityProvider._force_clear_cookie
    - http.cookies.Morsel
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - tornado.escape.native_str
    - datetime.timedelta
    - handler.clear_cookie
    - cookie_options.update
    - morsel.set
    - tornado.httputil.format_timestamp
    - handler.add_header
    - cookie_options.setdefault
    - datetime.datetime.now
    - morsel.OutputString
    - _non_alphanum.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 467
    functionName: jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 5
    functionsReached:
    - random.randint
    - <builtin>.len
    - jupyter_server.auth.utils.get_anonymous_username
    - uuid.uuid4
    - handler.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - user
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 276
    functionName: jupyter_server.auth.identity.IdentityProvider.identity_model
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - dataclasses.asdict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dataclasses.asdict
    functionSourceFile: dataclasses
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 281
    functionName: jupyter_server.auth.identity.IdentityProvider.get_handlers
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 4
    functionsReached:
    - handlers.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: handlers.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - user
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 293
    functionName: jupyter_server.auth.identity.IdentityProvider.user_to_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 3
    functionsReached:
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cookie_value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 312
    functionName: jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 4
    functionsReached:
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _non_alphanum.sub
    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: cookie_options.update
    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: cookie_options.setdefault
    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: handler.set_secure_cookie
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7faf34d698e0>
    - <ast.Constant object at 0x7faf34d698b0>
    argNames:
    - self
    - handler
    - name
    - path
    - domain
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 352
    functionName: jupyter_server.auth.identity.IdentityProvider._force_clear_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 3
    functionsReached:
    - http.cookies.Morsel
    - tornado.escape.native_str
    - datetime.timedelta
    - morsel.set
    - tornado.httputil.format_timestamp
    - handler.add_header
    - datetime.datetime.now
    - morsel.OutputString
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.escape.native_str
    functionSourceFile: tornado
    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: datetime.datetime.now
    functionSourceFile: datetime
    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: 0
    functionLinenumber: -1
    functionName: datetime.timedelta
    functionSourceFile: datetime
    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: http.cookies.Morsel
    functionSourceFile: http
    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: morsel.set
    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: tornado.httputil.format_timestamp
    functionSourceFile: tornado
    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: morsel.OutputString
    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: handler.add_header
    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: handler.clear_cookie
    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: handler.get_secure_cookie
    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: _user_cookie.decode
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.log.error
    functionSourceFile: traitlets
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 416
    functionName: jupyter_server.auth.identity.IdentityProvider.get_token
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 3
    functionsReached:
    - handler.request.headers.get
    - handler.get_argument
    - m.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handler.get_argument
    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: handler.request.headers.get
    functionSourceFile: <builtin>
    functionUses: 7
    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: 164
    functionName: jupyter_server.auth.utils.get_anonymous_username
    functionSourceFile: jupyter_server.auth.utils
    functionUses: 6
    functionsReached:
    - <builtin>.len
    - random.randint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handler.log.debug
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 481
    functionName: jupyter_server.auth.identity.IdentityProvider.should_check_origin
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.identity.LegacyIdentityProvider.is_token_authenticated
    - traitlets.Type.is_token_authenticated
    - <builtin>.getattr
    - jupyter_server.auth.identity.IdentityProvider.is_token_authenticated
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 718
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.is_token_authenticated
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    functionsReached:
    - traitlets.Type.is_token_authenticated
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 492
    functionName: jupyter_server.auth.identity.IdentityProvider.is_token_authenticated
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf352573a0>
    argNames:
    - self
    - app
    - ssl_options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 505
    functionName: jupyter_server.auth.identity.IdentityProvider.validate_security
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - app.log.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: app.log.warning
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 529
    functionName: jupyter_server.auth.identity.IdentityProvider.process_login_form
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - random.randint
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.auth.utils.get_anonymous_username
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - <builtin>.len
    - handler.get_argument
    - traitlets.config.LoggingConfigurable.user_for_token
    - uuid.uuid4
    - handler.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.user_for_token
    functionSourceFile: traitlets
    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: 546
    functionName: jupyter_server.auth.identity.IdentityProvider.auth_enabled
    functionSourceFile: jupyter_server.auth.identity
    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: 557
    functionName: jupyter_server.auth.identity.IdentityProvider.login_available
    functionSourceFile: jupyter_server.auth.identity
    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: 562
    functionName: jupyter_server.auth.identity.IdentityProvider.logout_available
    functionSourceFile: jupyter_server.auth.identity
    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: jupyter_server.auth.identity.PasswordIdentityProvider
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    - traitlets.default
    - traitlets.Bool
    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: 619
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider._need_token_default
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    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: 623
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.login_available
    functionSourceFile: jupyter_server.auth.identity
    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: 628
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.auth_enabled
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - password
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 632
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.passwd_check
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    functionsReached:
    - jupyter_server.auth.identity.PasswordIdentityProvider.passwd_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 636
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.process_login_form
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - ph.hash
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - warnings.warn
    - jupyter_server.auth.utils.get_anonymous_username
    - <builtin>.len
    - <builtin>.str
    - os.makedirs
    - jupyter_core.paths.jupyter_config_dir
    - <builtin>.range
    - traitlets.config.Config
    - jupyter_server.auth.identity.PasswordIdentityProvider.passwd_check
    - jupyter_server.auth.security.passwd
    - jupyter_server.auth.security.persist_config
    - traitlets.config.JSONFileConfigLoader.load_config
    - traitlets.config.LoggingConfigurable.log.info
    - uuid.uuid4
    - f.write
    - handler.log.debug
    - random.getrandbits
    - random.randint
    - traitlets.config.LoggingConfigurable.log.warning
    - getpass.getpass.encode
    - h.update
    - os.path.dirname
    - <builtin>.open
    - os.path.basename
    - handler.get_argument
    - getpass.getpass
    - json.dumps
    - h.hexdigest
    - traceback.format_exc
    - salt.encode
    - jupyter_server.auth.security.set_password
    - os.path.join
    - traitlets.config.JSONFileConfigLoader
    - os.chmod
    - argon2.PasswordHasher
    - handler.settings.get
    - hashlib.new
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handler.settings.get
    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:
    - <ast.Constant object at 0x7faf34f01970>
    - <ast.Constant object at 0x7faf34f016a0>
    argNames:
    - password
    - config_file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 169
    functionName: jupyter_server.auth.security.set_password
    functionSourceFile: jupyter_server.auth.security
    functionUses: 3
    functionsReached:
    - ph.hash
    - warnings.warn
    - os.makedirs
    - <builtin>.str
    - jupyter_core.paths.jupyter_config_dir
    - <builtin>.range
    - traitlets.config.Config
    - jupyter_server.auth.security.passwd
    - traitlets.config.JSONFileConfigLoader.load_config
    - jupyter_server.auth.security.persist_config
    - f.write
    - random.getrandbits
    - getpass.getpass.encode
    - h.update
    - os.path.dirname
    - os.path.basename
    - getpass.getpass
    - json.dumps
    - h.hexdigest
    - traceback.format_exc
    - salt.encode
    - os.path.join
    - traitlets.config.JSONFileConfigLoader
    - hashlib.new
    - os.chmod
    - argon2.PasswordHasher
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf3523c1f0>
    argNames:
    - self
    - app
    - ssl_options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 660
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.validate_security
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - sys.exit
    - traitlets.config.LoggingConfigurable.log.critical
    - <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: traitlets.config.LoggingConfigurable.log.critical
    functionSourceFile: traitlets
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.Dict
    - traitlets.default
    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: 687
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider._default_settings
    functionSourceFile: jupyter_server.auth.identity
    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: 694
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider._default_login_handler_class
    functionSourceFile: jupyter_server.auth.identity
    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: 700
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.auth_enabled
    functionSourceFile: jupyter_server.auth.identity
    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
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 703
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.get_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.Type.get_user
    - <builtin>.isinstance
    - jupyter_server.auth.identity._backward_compat_user
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Type.get_user
    functionSourceFile: traitlets
    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: 711
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.login_available
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.Type.get_login_available
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Type.get_login_available
    functionSourceFile: traitlets
    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
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 714
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.should_check_origin
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.Type.should_check_origin
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Type.should_check_origin
    functionSourceFile: traitlets
    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: traitlets.Type.is_token_authenticated
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf35244430>
    argNames:
    - self
    - app
    - ssl_options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 722
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.validate_security
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 2
    functionsReached:
    - sys.exit
    - traitlets.Type.validate_security
    - traitlets.config.LoggingConfigurable.log.critical
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Type.validate_security
    functionSourceFile: traitlets
    functionUses: 3
    functionsReached: []
    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: -1
    functionName: jupyter_server.serverapp
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - aliases.update
    - traitlets.config.application.boolean_flag
    - sys.platform.startswith
    - flags.update
    - <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: 0
    functionLinenumber: -1
    functionName: sys.platform.startswith
    functionSourceFile: sys
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - port
    - n
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 191
    functionName: jupyter_server.serverapp.random_ports
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - <builtin>.range
    - <builtin>.max
    - random.randint
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: random.randint
    functionSourceFile: random
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 203
    functionName: jupyter_server.serverapp.load_handlers
    functionSourceFile: jupyter_server.serverapp
    functionUses: 4
    functionsReached:
    - <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>.__import__
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 18
    argDefaultValues: []
    argNames:
    - self
    - jupyter_app
    - default_services
    - kernel_manager
    - contents_manager
    - session_manager
    - kernel_spec_manager
    - config_manager
    - event_logger
    - extra_services
    - log
    - base_url
    - default_url
    - settings_overrides
    - jinja_env_options
    - authorizer
    - identity_provider
    - kernel_websocket_connection_class
    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
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 217
    functionName: jupyter_server.serverapp.ServerWebApplication.__init__
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - jupyter_server.auth.identity.IdentityProvider.get_handlers
    - <builtin>.len
    - warnings.warn
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server._sysinfo.get_sys_info
    - gettext.translation
    - jenv_opt.update
    - jupyter_server._sysinfo.pkg_info
    - s.strip
    - proc.communicate
    - datetime.datetime.now
    - jupyter_server._tz.utc_aware.utc_method
    - datetime.datetime.utcnow
    - dt.replace
    - jinja2.Environment
    - os.path.realpath
    - root_dir.startswith
    - os.path.exists
    - jupyter_server.serverapp.ServerWebApplication.init_settings
    - subprocess.Popen
    - os.path.dirname
    - handlers.append
    - datetime.datetime.utcfromtimestamp
    - traitlets.Dict.get
    - platform.platform
    - jupyter_server.serverapp.load_handlers
    - <builtin>.enumerate
    - os.path.abspath
    - <builtin>.super
    - jupyter_server._sysinfo.pkg_commit_hash
    - jupyter_server.serverapp.ServerWebApplication.init_handlers
    - <builtin>.list
    - jinja2.FileSystemLoader
    - os.path.expanduser
    - jupyter_server.utils.url_path_join
    - repo_commit.strip
    - handlers.extend
    - jinja2.Environment.install_gettext_translations
    - os.path.join
    - traitlets.config.SingletonConfigurable.instance
    - new_handlers.append
    - <builtin>.__import__
    - settings.update
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 17
    argDefaultValues:
    - <ast.Constant object at 0x7faf3323b0a0>
    argNames:
    - self
    - jupyter_app
    - kernel_manager
    - contents_manager
    - session_manager
    - kernel_spec_manager
    - config_manager
    - event_logger
    - extra_services
    - log
    - base_url
    - default_url
    - settings_overrides
    - jinja_env_options
    - authorizer
    - identity_provider
    - kernel_websocket_connection_class
    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
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 279
    functionName: jupyter_server.serverapp.ServerWebApplication.init_settings
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - jupyter_server._sysinfo.get_sys_info
    - gettext.translation
    - jenv_opt.update
    - s.strip
    - jupyter_server._sysinfo.pkg_info
    - proc.communicate
    - datetime.datetime.now
    - jupyter_server._tz.utc_aware.utc_method
    - datetime.datetime.utcnow
    - dt.replace
    - jinja2.Environment
    - os.path.realpath
    - root_dir.startswith
    - os.path.exists
    - subprocess.Popen
    - os.path.dirname
    - datetime.datetime.utcfromtimestamp
    - traitlets.Dict.get
    - platform.platform
    - os.path.abspath
    - jupyter_server._sysinfo.pkg_commit_hash
    - jinja2.FileSystemLoader
    - os.path.expanduser
    - jupyter_server.utils.url_path_join
    - repo_commit.strip
    - jinja2.Environment.install_gettext_translations
    - os.path.join
    - settings.update
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 10
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - default_services
    - settings
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 406
    functionName: jupyter_server.serverapp.ServerWebApplication.init_handlers
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - jupyter_server.serverapp.load_handlers
    - jupyter_server.utils.url_path_join
    - <builtin>.enumerate
    - jupyter_server.auth.identity.IdentityProvider.get_handlers
    - handlers.extend
    - traitlets.config.SingletonConfigurable.instance
    - <builtin>.list
    - new_handlers.append
    - <builtin>.__import__
    - s.strip
    - handlers.append
    linkageType: pythonLinkage
    raised:
    - Exception
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Dict.get
    functionSourceFile: traitlets
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jenv_opt.update
    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: jinja2.FileSystemLoader
    functionSourceFile: jinja2
    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: jinja2.Environment
    functionSourceFile: jinja2
    functionUses: 5
    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: 89
    functionName: jupyter_server._sysinfo.get_sys_info
    functionSourceFile: jupyter_server._sysinfo
    functionUses: 6
    functionsReached:
    - os.path.realpath
    - repo_commit.strip
    - os.path.abspath
    - os.path.exists
    - os.path.join
    - subprocess.Popen
    - jupyter_server._sysinfo.pkg_commit_hash
    - os.path.dirname
    - jupyter_server._sysinfo.pkg_info
    - proc.communicate
    - platform.platform
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.translation
    functionSourceFile: gettext
    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: jinja2.Environment.install_gettext_translations
    functionSourceFile: jinja2
    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:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 32
    functionName: jupyter_server._tz.utc_aware.utc_method
    functionSourceFile: jupyter_server._tz
    functionUses: 52
    functionsReached:
    - dt.replace
    - datetime.datetime.utcnow
    - datetime.datetime.utcfromtimestamp
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: root_dir.startswith
    functionSourceFile: <builtin>
    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:
    - pieces
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 32
    functionName: jupyter_server.utils.url_path_join
    functionSourceFile: jupyter_server.utils
    functionUses: 52
    functionsReached:
    - s.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: settings.update
    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: handlers.extend
    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: new_handlers.append
    functionSourceFile: <builtin>
    functionUses: 6
    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: 475
    functionName: jupyter_server.serverapp.ServerWebApplication.last_activity
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - <builtin>.max
    - sources.extend
    - key.endswith
    - tornado.web.Application.settings.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: tornado.web.Application.settings.items
    functionSourceFile: tornado
    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: key.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: sources.extend
    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: 504
    functionName: jupyter_server.serverapp.JupyterPasswordApp._config_file_default
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.join
    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: 3
    functionLinenumber: 508
    functionName: jupyter_server.serverapp.JupyterPasswordApp.start
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - ph.hash
    - warnings.warn
    - os.makedirs
    - <builtin>.str
    - jupyter_core.application.JupyterApp.log.info
    - <builtin>.range
    - jupyter_core.paths.jupyter_config_dir
    - traitlets.config.Config
    - jupyter_server.auth.security.passwd
    - traitlets.config.JSONFileConfigLoader.load_config
    - jupyter_server.auth.security.persist_config
    - f.write
    - random.getrandbits
    - getpass.getpass.encode
    - h.update
    - os.path.dirname
    - <builtin>.open
    - os.path.basename
    - getpass.getpass
    - json.dumps
    - h.hexdigest
    - traceback.format_exc
    - salt.encode
    - jupyter_server.auth.security.set_password
    - os.path.join
    - traitlets.config.JSONFileConfigLoader
    - os.chmod
    - argon2.PasswordHasher
    - hashlib.new
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.log.info
    functionSourceFile: jupyter_core
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 14
    IfCount: 10
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf352cc460>
    - <ast.Constant object at 0x7faf352cc430>
    argNames:
    - server_info
    - timeout
    - log
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 516
    functionName: jupyter_server.serverapp.shutdown_server
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - tornado.httpclient.AsyncHTTPClient.configure
    - jupyter_server.utils._request_for_tornado_client
    - <builtin>.str
    - <builtin>.range
    - tornado.httpclient.HTTPRequest
    - log.debug
    - tornado.httpclient.HTTPClient
    - <builtin>.bool
    - tornado.httpclient.HTTPClient.fetch
    - os.kill
    - urllib.parse.urljoin
    - jupyter_server.utils.fetch
    - tornado.netutil.Resolver.__init__
    - time.sleep
    - ctypes.windll.kernel32.OpenProcess
    - jupyter_server.utils._check_pid_win32
    - tornado.netutil.Resolver
    - urllib.parse.SplitResult
    - jupyter_server.utils._check_pid_posix
    - sys.platform.startswith
    - urllib.parse.urlsplit
    - urllib.parse.urlunsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.urljoin
    functionSourceFile: urllib
    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: log.debug
    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 0x7faf35541880>
    - <ast.Constant object at 0x7faf35541850>
    - <ast.Constant object at 0x7faf35541820>
    argNames:
    - urlstring
    - method
    - body
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 281
    functionName: jupyter_server.utils.fetch
    functionSourceFile: jupyter_server.utils
    functionUses: 1
    functionsReached:
    - tornado.netutil.Resolver
    - tornado.httpclient.AsyncHTTPClient.configure
    - jupyter_server.utils._request_for_tornado_client
    - urllib.parse.SplitResult
    - tornado.httpclient.HTTPClient.fetch
    - urllib.parse.urlunsplit
    - urllib.parse.urlsplit
    - tornado.httpclient.HTTPRequest
    - tornado.netutil.Resolver.__init__
    - tornado.httpclient.HTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - pid
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 167
    functionName: jupyter_server.utils._check_pid_posix
    functionSourceFile: jupyter_server.utils
    functionUses: 4
    functionsReached:
    - os.kill
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - pid
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 159
    functionName: jupyter_server.utils._check_pid_win32
    functionSourceFile: jupyter_server.utils
    functionUses: 4
    functionsReached:
    - <builtin>.bool
    - ctypes.windll.kernel32.OpenProcess
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.sleep
    functionSourceFile: time
    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.kill
    functionSourceFile: os
    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: jupyter_server.serverapp.JupyterServerStopApp
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    - traitlets.Integer
    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 0x7faf32f967c0>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 597
    functionName: jupyter_server.serverapp.JupyterServerStopApp.parse_command_line
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - server
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 607
    functionName: jupyter_server.serverapp.JupyterServerStopApp.shutdown_server
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - jupyter_server.serverapp.JupyterServerStopApp.shutdown_server
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - target_endpoint
    - server
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 611
    functionName: jupyter_server.serverapp.JupyterServerStopApp._shutdown_or_exit
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - sys.exit
    - jupyter_server.serverapp.JupyterServerStopApp.shutdown_server
    - jupyter_core.application.JupyterApp.log.info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 618
    functionName: jupyter_server.serverapp.JupyterServerStopApp._maybe_remove_unix_socket
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - os.unlink
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.unlink
    functionSourceFile: os
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 9
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 625
    functionName: jupyter_server.serverapp.JupyterServerStopApp.start
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.exit
    - jupyter_core.application.JupyterApp.log.info
    - sys.exit
    - <builtin>.bool
    - os.unlink
    - jupyter_core.paths.jupyter_runtime_dir
    - server.get
    - json.load
    - os.path.isdir
    - os.kill
    - jupyter_server.serverapp.JupyterServerStopApp._shutdown_or_exit
    - jupyter_server.serverapp.list_running_servers
    - <builtin>.list
    - jupyter_server.serverapp.JupyterServerStopApp.shutdown_server
    - log.warning
    - ctypes.windll.kernel32.OpenProcess
    - os.listdir
    - jupyter_server.utils._check_pid_win32
    - re.match
    - os.path.join
    - jupyter_server.utils._check_pid_posix
    - jupyter_server.serverapp.JupyterServerStopApp._maybe_remove_unix_socket
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf34cfcb20>
    - <ast.Constant object at 0x7faf34cfcb50>
    argNames:
    - runtime_dir
    - log
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2917
    functionName: jupyter_server.serverapp.list_running_servers
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - <builtin>.bool
    - os.kill
    - jupyter_server.utils._check_pid_win32
    - os.unlink
    - re.match
    - os.path.join
    - jupyter_core.paths.jupyter_runtime_dir
    - jupyter_server.utils._check_pid_posix
    - log.warning
    - ctypes.windll.kernel32.OpenProcess
    - json.load
    - os.listdir
    - os.path.isdir
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.exit
    functionSourceFile: jupyter_core
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: server.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: 1
    functionLinenumber: -1
    functionName: jupyter_server.serverapp.JupyterServerListApp
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - traitlets.Bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 688
    functionName: jupyter_server.serverapp.JupyterServerListApp.start
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - traitlets.Bool.dumps
    - <builtin>.bool
    - os.unlink
    - jupyter_core.paths.jupyter_runtime_dir
    - json.load
    - os.path.isdir
    - os.kill
    - jupyter_server.serverapp.list_running_servers
    - <builtin>.list
    - log.warning
    - ctypes.windll.kernel32.OpenProcess
    - os.listdir
    - jupyter_server.utils._check_pid_win32
    - re.match
    - os.path.join
    - serverinfo.get
    - jupyter_server.utils._check_pid_posix
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Bool.dumps
    functionSourceFile: traitlets
    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: serverinfo.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: traitlets.config.application.boolean_flag
    functionSourceFile: traitlets
    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: flags.update
    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: aliases.update
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.serverapp.ServerApp
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.description.splitlines
    - traitlets.Any
    - traitlets.Integer
    - traitlets.default
    - traitlets.List
    - traitlets.Type
    - traitlets.Dict
    - traitlets.Float
    - traitlets.Unicode
    - traitlets.Unicode.tag
    - traitlets.Bytes
    - traitlets.Union
    - traitlets.Bool
    - traitlets.config.application.catch_config_error
    - trans.gettext
    - traitlets.Instance
    - traitlets.observe
    - traitlets.validate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.description.splitlines
    functionSourceFile: jupyter_core
    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: 846
    functionName: jupyter_server.serverapp.ServerApp._default_log_level
    functionSourceFile: jupyter_server.serverapp
    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: 850
    functionName: jupyter_server.serverapp.ServerApp._default_log_format
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 919
    functionName: jupyter_server.serverapp.ServerApp._default_ip
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.warning
    - socket.socket
    - s.close
    - s.bind
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.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: jupyter_core.application.JupyterApp.log.warning
    functionSourceFile: jupyter_core
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.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: traitlets.validate
    functionSourceFile: traitlets
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 937
    functionName: jupyter_server.serverapp.ServerApp._validate_ip
    functionSourceFile: jupyter_server.serverapp
    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: 969
    functionName: jupyter_server.serverapp.ServerApp._port_default
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - os.getenv
    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: 984
    functionName: jupyter_server.serverapp.ServerApp._port_retries_default
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - os.getenv
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 996
    functionName: jupyter_server.serverapp.ServerApp._validate_sock_mode
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - <builtin>.all
    - <builtin>.int
    - value.encode
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.encode
    functionSourceFile: <builtin>
    functionUses: 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: 1044
    functionName: jupyter_server.serverapp.ServerApp._default_cookie_secret_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - 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: traitlets.Bytes
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1060
    functionName: jupyter_server.serverapp.ServerApp._default_cookie_secret
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.secure_write
    - os.path.exists
    - traitlets.Unicode.encode
    - hmac.new
    - base64.encodebytes
    - h.update
    - h.digest
    - jupyter_server.serverapp.ServerApp._write_cookie_secret_file
    - f.write
    - jupyter_core.application.JupyterApp.log.error
    - jupyter_core.application.JupyterApp.log.info
    - os.urandom
    - f.read
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base64.encodebytes
    functionSourceFile: base64
    functionUses: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - secret
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1071
    functionName: jupyter_server.serverapp.ServerApp._write_cookie_secret_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - f.write
    - jupyter_core.paths.secure_write
    - jupyter_core.application.JupyterApp.log.error
    - jupyter_core.application.JupyterApp.log.info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hmac.new
    functionSourceFile: hmac
    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: traitlets.Unicode.encode
    functionSourceFile: traitlets
    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: h.digest
    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: jupyter_core.application.JupyterApp.log.error
    functionSourceFile: jupyter_core
    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
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1091
    functionName: jupyter_server.serverapp.ServerApp._deprecated_token
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf329f1df0>
    argNames:
    - self
    - change
    - clsname
    - new_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1174
    functionName: jupyter_server.serverapp.ServerApp._warn_deprecated_config
    functionSourceFile: jupyter_server.serverapp
    functionUses: 9
    functionsReached:
    - jupyter_core.application.JupyterApp.log.warning
    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: 1095
    functionName: jupyter_server.serverapp.ServerApp._deprecated_token_access
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - warnings.warn
    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: 1115
    functionName: jupyter_server.serverapp.ServerApp._default_min_open_files_limit
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.debug
    - resource.getrlimit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resource.getrlimit
    functionSourceFile: resource
    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: jupyter_core.application.JupyterApp.log.debug
    functionSourceFile: jupyter_core
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1194
    functionName: jupyter_server.serverapp.ServerApp._deprecated_password
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1198
    functionName: jupyter_server.serverapp.ServerApp._deprecated_password_config
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1237
    functionName: jupyter_server.serverapp.ServerApp._default_allow_remote
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.warning
    - addr.split
    - socket.getaddrinfo
    - ipaddress.ip_address
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ipaddress.ip_address
    functionSourceFile: ipaddress
    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: socket.getaddrinfo
    functionSourceFile: socket
    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: traitlets.Union
    functionSourceFile: traitlets
    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
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1377
    functionName: jupyter_server.serverapp.ServerApp._deprecated_cookie_config
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1410
    functionName: jupyter_server.serverapp.ServerApp._update_base_url
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - value.endswith
    - value.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.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: value.endswith
    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: 0
    functionLinenumber: 1428
    functionName: jupyter_server.serverapp.ServerApp.static_file_path
    functionSourceFile: jupyter_server.serverapp
    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: 1435
    functionName: jupyter_server.serverapp.ServerApp._default_static_custom_path
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.join
    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: 1449
    functionName: jupyter_server.serverapp.ServerApp.template_file_path
    functionSourceFile: jupyter_server.serverapp
    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: 1491
    functionName: jupyter_server.serverapp.ServerApp._default_kernel_manager_class
    functionSourceFile: jupyter_server.serverapp
    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: 1502
    functionName: jupyter_server.serverapp.ServerApp._default_session_manager_class
    functionSourceFile: jupyter_server.serverapp
    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: 1534
    functionName: jupyter_server.serverapp.ServerApp._default_kernel_spec_manager_class
    functionSourceFile: jupyter_server.serverapp
    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: 1590
    functionName: jupyter_server.serverapp.ServerApp._default_info_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.join
    - os.getpid
    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: 1601
    functionName: jupyter_server.serverapp.ServerApp._default_browser_open_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.join
    - os.getpid
    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: 1608
    functionName: jupyter_server.serverapp.ServerApp._default_browser_open_file_to_run
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.join
    - os.getpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1623
    functionName: jupyter_server.serverapp.ServerApp._update_pylab
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.exit
    - jupyter_core.application.JupyterApp.log.error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1639
    functionName: jupyter_server.serverapp.ServerApp._update_notebook_dir
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.warning
    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: 1650
    functionName: jupyter_server.serverapp.ServerApp._default_root_dir
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.dirname
    - os.getcwd
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1657
    functionName: jupyter_server.serverapp.ServerApp._normalize_dir
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - value.rstrip
    - os.path.splitdrive
    - os.path.isabs
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.splitdrive
    functionSourceFile: os
    functionUses: 77
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.rstrip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1671
    functionName: jupyter_server.serverapp.ServerApp._root_dir_validate
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._normalize_dir
    - os.path.abspath
    - value.rstrip
    - os.path.splitdrive
    - os.path.isabs
    - os.path.isdir
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1678
    functionName: jupyter_server.serverapp.ServerApp._root_dir_changed
    functionSourceFile: jupyter_server.serverapp
    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: trans.gettext
    functionSourceFile: <builtin>
    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: 1690
    functionName: jupyter_server.serverapp.ServerApp._default_prefered_dir
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1694
    functionName: jupyter_server.serverapp.ServerApp._preferred_dir_validate
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._normalize_dir
    - os.path.abspath
    - value.rstrip
    - os.path.splitdrive
    - os.path.isabs
    - os.path.isdir
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1701
    functionName: jupyter_server.serverapp.ServerApp._update_server_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1732
    functionName: jupyter_server.serverapp.ServerApp._deprecated_kernel_ws_protocol
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1742
    functionName: jupyter_server.serverapp.ServerApp._deprecated_limit_rate
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1752
    functionName: jupyter_server.serverapp.ServerApp._deprecated_iopub_msg_rate_limit
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1762
    functionName: jupyter_server.serverapp.ServerApp._deprecated_iopub_data_rate_limit
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1772
    functionName: jupyter_server.serverapp.ServerApp._deprecated_rate_limit_window
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    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: 1804
    functionName: jupyter_server.serverapp.ServerApp._default_terminals_enabled
    functionSourceFile: jupyter_server.serverapp
    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: 1822
    functionName: jupyter_server.serverapp.ServerApp.starter_app
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf35c3fc40>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1826
    functionName: jupyter_server.serverapp.ServerApp.parse_command_line
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.abspath
    - os.path.exists
    - jupyter_core.application.JupyterApp.exit
    - os.path.isfile
    - jupyter_core.application.JupyterApp.update_config
    - <builtin>.super
    - traitlets.config.Config
    - jupyter_core.application.JupyterApp.log.critical
    - jupyter_core.application.JupyterApp.argv.remove
    - os.path.isdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.argv.remove
    functionSourceFile: jupyter_core
    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: jupyter_core.application.JupyterApp.log.critical
    functionSourceFile: jupyter_core
    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: 0
    functionLinenumber: -1
    functionName: traitlets.config.Config
    functionSourceFile: traitlets
    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: jupyter_core.application.JupyterApp.update_config
    functionSourceFile: jupyter_core
    functionUses: 3
    functionsReached: []
    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: 1
    functionLinenumber: 1847
    functionName: jupyter_server.serverapp.ServerApp.init_configurables
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - traitlets.Type
    - jupyter_core.application.JupyterApp.log.warning
    - warnings.warn
    - traitlets.config.SingletonConfigurable.instance
    - traitlets.config.LoggingConfigurable.__init__
    - <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: 7
    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: 1943
    functionName: jupyter_server.serverapp.ServerApp.init_logging
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - logging.getLogger
    - logger.setLevel
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.setLevel
    functionSourceFile: <builtin>
    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: 1
    functionLinenumber: 1959
    functionName: jupyter_server.serverapp.ServerApp.init_event_logger
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - schema_id.replace
    - jupyter_events.logger.EventLogger
    - jupyter_events.logger.EventLogger.register_event_schema
    - traitlets.Instance.register_event_schema
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_events.logger.EventLogger
    functionSourceFile: jupyter_events
    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: schema_id.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: jupyter_events.logger.EventLogger.register_event_schema
    functionSourceFile: jupyter_events
    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: traitlets.Instance.register_event_schema
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 11
    IfCount: 13
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1975
    functionName: jupyter_server.serverapp.ServerApp.init_webapp
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - traitlets.Type.validate_security
    - jupyter_server.auth.identity.IdentityProvider.get_handlers
    - jupyter_server.serverapp.ServerWebApplication.__init__
    - <builtin>.len
    - warnings.warn
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_server._sysinfo.get_sys_info
    - gettext.translation
    - sys.exit
    - jenv_opt.update
    - s.strip
    - jupyter_server._sysinfo.pkg_info
    - proc.communicate
    - datetime.datetime.now
    - jupyter_server._tz.utc_aware.utc_method
    - datetime.datetime.utcnow
    - dt.replace
    - traitlets.Dict.setdefault
    - jinja2.Environment
    - os.path.realpath
    - root_dir.startswith
    - traitlets.Unicode.startswith
    - os.path.exists
    - jupyter_server.serverapp.ServerWebApplication.init_settings
    - subprocess.Popen
    - os.path.dirname
    - handlers.append
    - datetime.datetime.utcfromtimestamp
    - jupyter_core.application.JupyterApp.log.critical
    - traitlets.Dict.get
    - platform.platform
    - re.compile
    - jupyter_server.serverapp.load_handlers
    - <builtin>.enumerate
    - os.path.abspath
    - <builtin>.super
    - jupyter_server._sysinfo.pkg_commit_hash
    - jupyter_server.serverapp.ServerWebApplication.init_handlers
    - <builtin>.list
    - <builtin>.getattr
    - jinja2.FileSystemLoader
    - jupyter_server.auth.identity.LegacyIdentityProvider.validate_security
    - os.path.expanduser
    - traitlets.config.LoggingConfigurable.log.critical
    - jupyter_server.utils.url_path_join
    - repo_commit.strip
    - handlers.extend
    - jinja2.Environment.install_gettext_translations
    - os.path.join
    - traitlets.config.SingletonConfigurable.instance
    - sys.platform.startswith
    - new_handlers.append
    - <builtin>.__import__
    - settings.update
    - <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: 0
    functionLinenumber: -1
    functionName: traitlets.Unicode.startswith
    functionSourceFile: traitlets
    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: traitlets.Dict.setdefault
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2074
    functionName: jupyter_server.serverapp.ServerApp.init_resources
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - jupyter_core.application.JupyterApp.log.debug
    - resource.setrlimit
    - resource.getrlimit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resource.setrlimit
    functionSourceFile: resource
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf361ff610>
    - <ast.Constant object at 0x7faf361ff640>
    argNames:
    - self
    - path
    - include_token
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2095
    functionName: jupyter_server.serverapp.ServerApp._get_urlparts
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - urllib.parse.urlencode
    - urllib.parse.ParseResult
    - socket.gethostname
    - traitlets.Unicode.replace
    - jupyter_server.utils.urlencode_unix_socket_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 198
    functionName: jupyter_server.utils.urlencode_unix_socket_path
    functionSourceFile: jupyter_server.utils
    functionUses: 5
    functionsReached:
    - traitlets.Unicode.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: urllib.parse.urlencode
    functionSourceFile: urllib
    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: urllib.parse.ParseResult
    functionSourceFile: urllib
    functionUses: 4
    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: 3
    functionLinenumber: 2129
    functionName: jupyter_server.serverapp.ServerApp.public_url
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - urllib.parse.urlencode
    - jupyter_server.serverapp.ServerApp._get_urlparts
    - urllib.parse.ParseResult
    - parts._replace
    - parts.geturl
    - urllib.parse.urlparse
    - socket.gethostname
    - traitlets.Unicode.replace
    - jupyter_server.utils.urlencode_unix_socket_path
    - custom.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: custom.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: parts._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: parts.geturl
    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: 3
    functionLinenumber: 2142
    functionName: jupyter_server.serverapp.ServerApp.local_url
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - urllib.parse.urlencode
    - jupyter_server.serverapp.ServerApp._get_urlparts
    - urllib.parse.ParseResult
    - parts._replace
    - parts.geturl
    - socket.gethostname
    - traitlets.Unicode.replace
    - jupyter_server.utils.urlencode_unix_socket_path
    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: 2150
    functionName: jupyter_server.serverapp.ServerApp.display_url
    functionSourceFile: jupyter_server.serverapp
    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: 3
    functionLinenumber: 2158
    functionName: jupyter_server.serverapp.ServerApp.connection_url
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - urlparts.geturl
    - urllib.parse.urlencode
    - jupyter_server.serverapp.ServerApp._get_urlparts
    - urllib.parse.ParseResult
    - socket.gethostname
    - traitlets.Unicode.replace
    - jupyter_server.utils.urlencode_unix_socket_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: urlparts.geturl
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2162
    functionName: jupyter_server.serverapp.ServerApp.init_signal
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - sys.platform.startswith
    - sys.stdin.isatty
    - <builtin>.hasattr
    - signal.signal
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.stdin.isatty
    functionSourceFile: sys
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2174
    functionName: jupyter_server.serverapp.ServerApp._handle_sigint
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - signal.signal
    - threading.Thread
    - thread.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.Thread
    functionSourceFile: threading
    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: thread.start
    functionSourceFile: <builtin>
    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: 2184
    functionName: jupyter_server.serverapp.ServerApp._restore_sigint_handler
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - signal.signal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 12
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2188
    functionName: jupyter_server.serverapp.ServerApp._confirm_exit
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - line.lower
    - <builtin>.len
    - jupyter_server.serverapp.ServerApp.stop
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_server.serverapp.ServerApp.running_server_info
    - select.select
    - trans.ngettext
    - <builtin>.getattr
    - sys.stdout.write
    - sys.stdin.readline
    - jupyter_core.application.JupyterApp.log.critical
    - <builtin>.hasattr
    - sys.stdout.flush
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf34cfc310>
    argNames:
    - self
    - from_signal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2903
    functionName: jupyter_server.serverapp.ServerApp.stop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.getattr
    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 0x7faf362ffb20>
    argNames:
    - self
    - kernel_count
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2573
    functionName: jupyter_server.serverapp.ServerApp.running_server_info
    functionSourceFile: jupyter_server.serverapp
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - trans.ngettext
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.stdout.flush
    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: sys.stdin.readline
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2228
    functionName: jupyter_server.serverapp.ServerApp._signal_stop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.critical
    - jupyter_server.serverapp.ServerApp.stop
    - <builtin>.hasattr
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2233
    functionName: jupyter_server.serverapp.ServerApp._signal_info
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp.running_server_info
    - <builtin>.len
    - trans.ngettext
    - jupyter_core.application.JupyterApp.log.info
    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: 2237
    functionName: jupyter_server.serverapp.ServerApp.init_components
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 2242
    functionName: jupyter_server.serverapp.ServerApp.find_server_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - <builtin>.sorted
    - data.get
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - jupyter_core.application.JupyterApp.config.ServerApp.jpserver_extensions.update
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - extensions.items
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - json.load
    - new.items
    - jupyter_server.services.config.manager.ConfigManager.get
    - target.pop
    - glob.glob
    - os.path.join
    - traitlets.Dict.update
    - os.path.isfile
    - <builtin>.isinstance
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Name object at 0x7faf337b8340>
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 13
    functionName: jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    functionSourceFile: jupyter_server.extension.config
    functionUses: 8
    functionsReached:
    - <builtin>.sorted
    - target.pop
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - glob.glob
    - data.get
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.services.config.manager.ConfigManager.get
    - <builtin>.isinstance
    - json.load
    - <builtin>.open
    - new.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: extensions.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: jupyter_core.application.JupyterApp.config.ServerApp.jpserver_extensions.update
    functionSourceFile: jupyter_core
    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: traitlets.Dict.update
    functionSourceFile: traitlets
    functionUses: 2
    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: 6
    functionLinenumber: 2265
    functionName: jupyter_server.serverapp.ServerApp.init_server_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.__init__
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - traitlets.Dict.get
    - module._jupyter_server_extension_paths
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionManager.link_all_extensions
    - traitlets.Dict.items
    - extension.link_all_points
    - traitlets.HasTraits.__init__
    - time.perf_counter
    - importlib.import_module
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.extension.utils.get_metadata
    - module._jupyter_server_extension_points
    - jupyter_server.extension.manager.ExtensionManager.link_extension
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jpserver_extensions
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 309
    functionName: jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 5
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.HasTraits.__init__
    - <builtin>.super
    - time.perf_counter
    - importlib.import_module
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.extension.utils.get_metadata
    - module._jupyter_server_extension_points
    - traitlets.Dict.items
    - module._jupyter_server_extension_paths
    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: 373
    functionName: jupyter_server.extension.manager.ExtensionManager.link_all_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - extension.link_all_points
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.info
    - traitlets.Dict.get
    - jupyter_server.extension.manager.ExtensionManager.link_extension
    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: 3
    functionLinenumber: 2278
    functionName: jupyter_server.serverapp.ServerApp.load_server_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.extension.manager.ExtensionManager.load_extension
    - extension.load_all_points
    - jupyter_server.extension.manager.ExtensionManager.load_all_extensions
    - traitlets.config.LoggingConfigurable.log.info
    - traitlets.Dict.get
    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: 382
    functionName: jupyter_server.extension.manager.ExtensionManager.load_all_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.extension.manager.ExtensionManager.load_extension
    - extension.load_all_points
    - traitlets.config.LoggingConfigurable.log.info
    - traitlets.Dict.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2288
    functionName: jupyter_server.serverapp.ServerApp.init_mime_overrides
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - mimetypes.init
    - mimetypes.add_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: mimetypes.init
    functionSourceFile: mimetypes
    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: mimetypes.add_type
    functionSourceFile: mimetypes
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2304
    functionName: jupyter_server.serverapp.ServerApp.shutdown_no_activity
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - <builtin>.len
    - sources.extend
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_core.application.JupyterApp.log.debug
    - tornado.web.Application.settings.items
    - app.current_activity
    - dt.replace
    - jupyter_server._tz.utc_aware.utc_method
    - datetime.datetime.utcnow
    - jupyter_server.serverapp.ServerWebApplication.last_activity
    - jupyter_server.serverapp.ServerApp.stop
    - datetime.datetime.utcfromtimestamp
    - key.endswith
    - jupyter_server.extension.manager.ExtensionManager.any_activity
    - <builtin>.getattr
    - <builtin>.dict
    - <builtin>.hasattr
    - <builtin>.max
    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: 400
    functionName: jupyter_server.extension.manager.ExtensionManager.any_activity
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 1
    functionsReached:
    - <builtin>.sorted
    - <builtin>.dict
    - app.current_activity
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2322
    functionName: jupyter_server.serverapp.ServerApp.init_shutdown_no_activity
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - tornado.ioloop.PeriodicCallback
    - pc.start
    - jupyter_core.application.JupyterApp.log.info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pc.start
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2333
    functionName: jupyter_server.serverapp.ServerApp.http_server
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    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: 3
    functionLinenumber: 2345
    functionName: jupyter_server.serverapp.ServerApp.init_httpserver
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - random.randint
    - jupyter_server.serverapp.ServerApp._find_http_port
    - jupyter_core.application.JupyterApp.log.warning
    - jupyter_core.application.JupyterApp.exit
    - jupyter_core.application.JupyterApp.log.info
    - <builtin>.range
    - tornado.httpserver.HTTPServer
    - <builtin>.getattr
    - jupyter_server.serverapp.random_ports
    - tornado.netutil.bind_sockets
    - <builtin>.max
    - <builtin>.hasattr
    - <builtin>.min
    - jupyter_core.application.JupyterApp.log.critical
    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: tornado.httpserver.HTTPServer
    functionSourceFile: tornado
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 8
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2409
    functionName: jupyter_server.serverapp.ServerApp._find_http_port
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - random.randint
    - jupyter_core.application.JupyterApp.log.warning
    - jupyter_core.application.JupyterApp.exit
    - jupyter_core.application.JupyterApp.log.info
    - <builtin>.range
    - <builtin>.getattr
    - jupyter_server.serverapp.random_ports
    - tornado.netutil.bind_sockets
    - <builtin>.max
    - <builtin>.min
    - jupyter_core.application.JupyterApp.log.critical
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2371
    functionName: jupyter_server.serverapp.ServerApp._bind_http_server
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._bind_http_server_unix
    - tornado.netutil.bind_unix_socket
    - <builtin>.int
    - sock.close
    - jupyter_server.utils.unix_socket_in_use
    - jupyter_core.application.JupyterApp.log.warning
    - os.path.exists
    - traitlets.Unicode.encode
    - socket.socket
    - jupyter_core.application.JupyterApp.exit
    - sock.connect
    - <builtin>.getattr
    - jupyter_core.application.JupyterApp.log.critical
    - jupyter_server.serverapp.ServerApp._bind_http_server_tcp
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2383
    functionName: jupyter_server.serverapp.ServerApp._bind_http_server_unix
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - <builtin>.int
    - tornado.netutil.bind_unix_socket
    - sock.close
    - jupyter_server.utils.unix_socket_in_use
    - jupyter_core.application.JupyterApp.log.warning
    - os.path.exists
    - traitlets.Unicode.encode
    - socket.socket
    - sock.connect
    - <builtin>.getattr
    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: 2404
    functionName: jupyter_server.serverapp.ServerApp._bind_http_server_tcp
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 213
    functionName: jupyter_server.utils.unix_socket_in_use
    functionSourceFile: jupyter_server.utils
    functionUses: 2
    functionsReached:
    - os.path.exists
    - socket.socket
    - sock.connect
    - sock.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.netutil.bind_unix_socket
    functionSourceFile: tornado
    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: tornado.netutil.bind_sockets
    functionSourceFile: tornado
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2457
    functionName: jupyter_server.serverapp.ServerApp._init_asyncio_patch
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - asyncio.WindowsSelectorEventLoopPolicy
    - <builtin>.type
    - sys.platform.startswith
    - asyncio.set_event_loop_policy
    - asyncio.get_event_loop_policy
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_event_loop_policy
    functionSourceFile: asyncio
    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: asyncio.WindowsSelectorEventLoopPolicy
    functionSourceFile: asyncio
    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: asyncio.set_event_loop_policy
    functionSourceFile: asyncio
    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: traitlets.config.application.catch_config_error
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 18
    IfCount: 5
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7faf3631cf10>
    - <ast.Constant object at 0x7faf3631cf40>
    - <ast.Constant object at 0x7faf3631cf70>
    - <ast.Constant object at 0x7faf3631cfa0>
    argNames:
    - self
    - argv
    - find_extensions
    - new_httpserver
    - starter_extension
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 2482
    functionName: jupyter_server.serverapp.ServerApp.initialize
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - traitlets.Type.validate_security
    - logger.setLevel
    - <builtin>.len
    - warnings.warn
    - jupyter_core.application.JupyterApp.log.debug
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - jupyter_server._sysinfo.pkg_info
    - traitlets.config.LoggingConfigurable.log.info
    - jinja2.Environment
    - root_dir.startswith
    - jupyter_events.logger.EventLogger.register_event_schema
    - jupyter_server.serverapp.ServerApp._init_asyncio_patch
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - jupyter_events.logger.EventLogger
    - jupyter_server.serverapp.ServerApp.init_mime_overrides
    - jupyter_server.serverapp.ServerApp.init_configurables
    - handlers.append
    - jupyter_server.serverapp.ServerApp.init_webapp
    - asyncio.get_event_loop_policy
    - resource.setrlimit
    - jupyter_server.serverapp.ServerApp.init_shutdown_no_activity
    - <builtin>.getattr
    - tornado.ioloop.PeriodicCallback
    - traitlets.Dict.items
    - asyncio.WindowsSelectorEventLoopPolicy
    - glob.glob
    - jupyter_server.serverapp.ServerApp.init_signal
    - traitlets.HasTraits.__init__
    - extension.load_all_points
    - settings.update
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.extension.manager.ExtensionManager.link_all_extensions
    - jupyter_server.serverapp.ServerApp.init_event_logger
    - signal.signal
    - jupyter_core.application.JupyterApp.exit
    - gettext.translation
    - datetime.datetime.now
    - jupyter_server.serverapp.ServerApp.init_httpserver
    - tornado.ioloop.IOLoop.current
    - schema_id.replace
    - traitlets.Dict.setdefault
    - os.path.realpath
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.serverapp.random_ports
    - jupyter_core.application.JupyterApp.log.critical
    - <builtin>.issubclass
    - re.compile
    - jupyter_server.extension.manager.ExtensionManager.load_extension
    - jupyter_server._sysinfo.pkg_commit_hash
    - jupyter_server.extension.manager.ExtensionManager.load_all_extensions
    - jupyter_server.serverapp.ServerApp.find_server_extensions
    - <builtin>.hasattr
    - pc.start
    - jupyter_server.serverapp.ServerApp.load_server_extensions
    - jupyter_server.serverapp.ServerApp.init_components
    - target.pop
    - repo_commit.strip
    - jinja2.Environment.install_gettext_translations
    - os.path.join
    - traitlets.Dict.update
    - jupyter_server.serverapp.ServerApp.init_ioloop
    - time.perf_counter
    - <builtin>.__import__
    - <builtin>.max
    - module._jupyter_server_extension_points
    - jupyter_server.serverapp.ServerWebApplication.__init__
    - data.get
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.__init__
    - <builtin>.range
    - sys.exit
    - traitlets.config.Config
    - mimetypes.add_type
    - proc.communicate
    - tornado.netutil.bind_sockets
    - jupyter_core.application.JupyterApp.config.ServerApp.jpserver_extensions.update
    - datetime.datetime.utcnow
    - random.randint
    - traitlets.Unicode.startswith
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - jupyter_core.application.JupyterApp.log.warning
    - os.path.exists
    - jupyter_server.serverapp.ServerWebApplication.init_settings
    - extensions.items
    - subprocess.Popen
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.serverapp.ServerApp.init_server_extensions
    - tornado.httpserver.HTTPServer
    - platform.platform
    - module._jupyter_server_extension_paths
    - <builtin>.enumerate
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - jupyter_core.application.JupyterApp.update_config
    - <builtin>.super
    - jupyter_server.serverapp.ServerWebApplication.init_handlers
    - <builtin>.list
    - jinja2.FileSystemLoader
    - jupyter_server.auth.identity.LegacyIdentityProvider.validate_security
    - jupyter_server.serverapp.ServerApp.init_logging
    - jupyter_server.serverapp.ServerApp.init_resources
    - jupyter_server.utils.url_path_join
    - mimetypes.init
    - extension.link_all_points
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - jupyter_server.extension.manager.ExtensionManager.link_extension
    - jupyter_server.auth.identity.IdentityProvider.get_handlers
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_server._sysinfo.get_sys_info
    - jenv_opt.update
    - s.strip
    - jupyter_server._tz.utc_aware.utc_method
    - dt.replace
    - asyncio.set_event_loop_policy
    - os.path.dirname
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - traitlets.Dict.get
    - json.load
    - traitlets.Instance.register_event_schema
    - new.items
    - jupyter_server.serverapp.load_handlers
    - os.path.abspath
    - jupyter_server.serverapp.ServerApp._find_http_port
    - resource.getrlimit
    - <builtin>.type
    - jupyter_server.services.config.manager.ConfigManager.get
    - os.path.expanduser
    - <builtin>.min
    - traitlets.config.LoggingConfigurable.log.critical
    - sys.stdin.isatty
    - handlers.extend
    - traitlets.Type
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - os.path.isfile
    - sys.platform.startswith
    - new_handlers.append
    - importlib.import_module
    - <builtin>.isinstance
    - jupyter_server.extension.utils.get_metadata
    - <builtin>.open
    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: 2885
    functionName: jupyter_server.serverapp.ServerApp.init_ioloop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2547
    functionName: jupyter_server.serverapp.ServerApp.cleanup_kernels
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - jupyter_core.utils.ensure_async
    - jupyter_core.application.JupyterApp.log.info
    - trans.ngettext
    - <builtin>.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: trans.ngettext
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2562
    functionName: jupyter_server.serverapp.ServerApp.cleanup_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - jupyter_server.extension.manager.ExtensionManager.stop_all_extensions
    - <builtin>.sorted
    - tornado.gen.multi
    - <builtin>.len
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_core.utils.ensure_async
    - jupyter_core.application.JupyterApp.log.info
    - trans.ngettext
    - <builtin>.getattr
    - <builtin>.dict
    - jupyter_server.extension.manager.ExtensionManager.stop_extension
    - app.stop_extension
    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: 391
    functionName: jupyter_server.extension.manager.ExtensionManager.stop_all_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 3
    functionsReached:
    - <builtin>.sorted
    - tornado.gen.multi
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.extension.manager.ExtensionManager.stop_extension
    - <builtin>.dict
    - app.stop_extension
    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: 2594
    functionName: jupyter_server.serverapp.ServerApp.server_info
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - <builtin>.bool
    - os.getpid
    - os.path.abspath
    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: 2
    functionLinenumber: 2610
    functionName: jupyter_server.serverapp.ServerApp.write_server_info_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - <builtin>.bool
    - jupyter_core.paths.secure_write
    - jupyter_server.serverapp.ServerApp.server_info
    - os.path.abspath
    - jupyter_core.application.JupyterApp.log.error
    - json.dump
    - os.getpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.dump
    functionSourceFile: json
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2618
    functionName: jupyter_server.serverapp.ServerApp.remove_server_info_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - os.unlink
    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: 1
    functionLinenumber: 2629
    functionName: jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - combined_path.relative_to
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.str
    - jupyter_core.application.JupyterApp.log.debug
    - jupyter_core.application.JupyterApp.log.critical
    - pathlib.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: combined_path.relative_to
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - url
    - fh
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2660
    functionName: jupyter_server.serverapp.ServerApp._write_browser_open_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 4
    functionsReached:
    - jupyter_server.utils.url_path_join
    - jinja2_env.get_template
    - tornado.httputil.url_concat
    - s.strip
    - fh.write
    - template.render
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.httputil.url_concat
    functionSourceFile: tornado
    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: jinja2_env.get_template
    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: template.render
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fh.write
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2670
    functionName: jupyter_server.serverapp.ServerApp.write_browser_open_files
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - jupyter_server.serverapp.ServerApp.write_browser_open_file
    - jupyter_server.serverapp.ServerApp._write_browser_open_file
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.str
    - jupyter_core.application.JupyterApp.log.debug
    - urllib.parse.quote
    - s.strip
    - jupyter_server.utils.url_escape
    - jupyter_core.application.JupyterApp.log.critical
    - template.render
    - file_to_run_relpath.split
    - jinja2_env.get_template
    - tornado.httputil.url_concat
    - combined_path.relative_to
    - jupyter_server.utils.url_path_join
    - path.split
    - jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir
    - pathlib.Path
    - fh.write
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2691
    functionName: jupyter_server.serverapp.ServerApp.write_browser_open_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - jupyter_server.utils.url_path_join
    - <builtin>.len
    - jupyter_server.serverapp.ServerApp._write_browser_open_file
    - jinja2_env.get_template
    - tornado.httputil.url_concat
    - s.strip
    - <builtin>.open
    - fh.write
    - template.render
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: file_to_run_relpath.split
    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:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: jupyter_server.utils.url_escape
    functionSourceFile: jupyter_server.utils
    functionUses: 28
    functionsReached:
    - urllib.parse.quote
    - path.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2702
    functionName: jupyter_server.serverapp.ServerApp.remove_browser_open_files
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - jupyter_server.serverapp.ServerApp.remove_browser_open_file
    - os.unlink
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2715
    functionName: jupyter_server.serverapp.ServerApp.remove_browser_open_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - os.unlink
    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: 2726
    functionName: jupyter_server.serverapp.ServerApp._prepare_browser_open
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - jupyter_server.utils.url_path_join
    - urllib.request.pathname2url
    - <builtin>.len
    - urllib.parse.urljoin
    - tornado.httputil.url_concat
    - s.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: urllib.request.pathname2url
    functionSourceFile: urllib
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2749
    functionName: jupyter_server.serverapp.ServerApp.launch_browser
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - threading.Thread
    - jupyter_server.utils.url_path_join
    - urllib.request.pathname2url
    - webbrowser.get
    - jupyter_core.application.JupyterApp.log.warning
    - <builtin>.len
    - urllib.parse.urljoin
    - tornado.httputil.url_concat
    - jupyter_server.serverapp.ServerApp._prepare_browser_open
    - s.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: webbrowser.get
    functionSourceFile: webbrowser
    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: 2766
    functionName: jupyter_server.serverapp.ServerApp.launch_browser.target
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - browser.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: browser.open
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 12
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 2772
    functionName: jupyter_server.serverapp.ServerApp.start_app
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - jupyter_server.serverapp.ServerApp._write_browser_open_file
    - jupyter_server.serverapp.ServerApp.write_browser_open_file
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.str
    - jupyter_core.application.JupyterApp.log.error
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_core.application.JupyterApp.log.debug
    - urllib.parse.quote
    - jupyter_server.serverapp.ServerApp._prepare_browser_open
    - s.strip
    - jupyter_server.serverapp.ServerApp.write_server_info_file
    - jupyter_server.serverapp.ServerApp.write_browser_open_files
    - <builtin>.bool
    - urllib.request.pathname2url
    - jupyter_core.application.JupyterApp.log.warning
    - trans.ngettext
    - jupyter_server.utils.url_escape
    - jupyter_core.application.JupyterApp.log.critical
    - os.getpid
    - template.render
    - threading.Thread
    - file_to_run_relpath.split
    - os.path.abspath
    - webbrowser.get
    - jinja2_env.get_template
    - urllib.parse.urljoin
    - <builtin>.super
    - json.dump
    - tornado.httputil.url_concat
    - combined_path.relative_to
    - jupyter_core.paths.secure_write
    - jupyter_server.serverapp.ServerApp.server_info
    - jupyter_server.utils.url_path_join
    - os.geteuid
    - path.split
    - jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir
    - jupyter_server.serverapp.ServerApp.running_server_info
    - jupyter_server.serverapp.ServerApp.launch_browser
    - pathlib.Path
    - fh.write
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.geteuid
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 9
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2856
    functionName: jupyter_server.serverapp.ServerApp._cleanup
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - jupyter_server.serverapp.ServerApp.remove_browser_open_files
    - <builtin>.sorted
    - jupyter_server.serverapp.ServerApp.remove_browser_open_file
    - <builtin>.len
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.serverapp.ServerApp.cleanup_kernels
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_server.serverapp.ServerApp.cleanup_extensions
    - jupyter_server.extension.manager.ExtensionManager.stop_all_extensions
    - traitlets.Type.close_all
    - os.unlink
    - tornado.gen.multi
    - trans.ngettext
    - jupyter_core.utils.ensure_async
    - <builtin>.getattr
    - <builtin>.dict
    - <builtin>.hasattr
    - jupyter_server.extension.manager.ExtensionManager.stop_extension
    - jupyter_server.serverapp.ServerApp.remove_server_info_file
    - app.stop_extension
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Type.close_all
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2873
    functionName: jupyter_server.serverapp.ServerApp.start_ioloop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - tornado.ioloop.PeriodicCallback
    - sys.platform.startswith
    - pc.start
    - jupyter_core.application.JupyterApp.log.info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.serverapp.ServerApp.start_ioloop.<lambda1>
    functionSourceFile: jupyter_server.serverapp
    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: 6
    functionLinenumber: 2889
    functionName: jupyter_server.serverapp.ServerApp.start
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp.start_app
    - <builtin>.len
    - jupyter_server.serverapp.ServerApp._write_browser_open_file
    - jupyter_server.serverapp.ServerApp.write_browser_open_file
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.str
    - jupyter_core.application.JupyterApp.log.error
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_core.application.JupyterApp.log.debug
    - urllib.parse.quote
    - jupyter_server.serverapp.ServerApp._prepare_browser_open
    - s.strip
    - jupyter_server.serverapp.ServerApp.write_server_info_file
    - jupyter_server.serverapp.ServerApp.write_browser_open_files
    - <builtin>.bool
    - urllib.request.pathname2url
    - jupyter_core.application.JupyterApp.log.warning
    - trans.ngettext
    - jupyter_server.utils.url_escape
    - jupyter_core.application.JupyterApp.log.critical
    - os.getpid
    - template.render
    - threading.Thread
    - file_to_run_relpath.split
    - os.path.abspath
    - webbrowser.get
    - jinja2_env.get_template
    - urllib.parse.urljoin
    - <builtin>.super
    - json.dump
    - tornado.httputil.url_concat
    - tornado.ioloop.PeriodicCallback
    - pc.start
    - combined_path.relative_to
    - jupyter_core.paths.secure_write
    - jupyter_server.serverapp.ServerApp.server_info
    - jupyter_server.utils.url_path_join
    - os.geteuid
    - path.split
    - jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir
    - jupyter_server.serverapp.ServerApp.running_server_info
    - sys.platform.startswith
    - jupyter_server.serverapp.ServerApp.launch_browser
    - jupyter_server.serverapp.ServerApp.start_ioloop
    - pathlib.Path
    - fh.write
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 2897
    functionName: jupyter_server.serverapp.ServerApp._stop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp.remove_browser_open_files
    - <builtin>.sorted
    - jupyter_server.serverapp.ServerApp.remove_browser_open_file
    - <builtin>.len
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.serverapp.ServerApp.cleanup_kernels
    - jupyter_server.serverapp.ServerApp._cleanup
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_server.serverapp.ServerApp.cleanup_extensions
    - jupyter_server.extension.manager.ExtensionManager.stop_all_extensions
    - traitlets.Type.close_all
    - os.unlink
    - tornado.gen.multi
    - trans.ngettext
    - jupyter_core.utils.ensure_async
    - <builtin>.getattr
    - <builtin>.dict
    - <builtin>.hasattr
    - jupyter_server.extension.manager.ExtensionManager.stop_extension
    - jupyter_server.serverapp.ServerApp.remove_server_info_file
    - app.stop_extension
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: log.warning
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 11
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.extension.serverextension
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - _base_aliases.update
    - flags.update
    - jupyter_core.application.JupyterApp.launch_instance
    - _base_flags.pop
    - _base_flags.update
    - flags.pop
    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 0x7faf351ac2e0>
    - <ast.Constant object at 0x7faf351ac2b0>
    argNames:
    - user
    - sys_prefix
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 18
    functionName: jupyter_server.extension.serverextension._get_config_dir
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 7
    functionsReached:
    - jupyter_core.paths.jupyter_config_dir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.paths.jupyter_config_dir
    functionSourceFile: jupyter_core
    functionUses: 15
    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 0x7faf351a0b80>
    - <ast.Constant object at 0x7faf351a0b50>
    - <ast.Constant object at 0x7faf351a0b20>
    argNames:
    - write_dir
    - user
    - sys_prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 41
    functionName: jupyter_server.extension.serverextension._get_extmanager_for_context
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 2
    functionsReached:
    - os.path.join
    - jupyter_server.extension.serverextension._get_config_dir
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_core.paths.jupyter_config_dir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _base_flags.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: _base_flags.pop
    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: _base_aliases.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: 1
    functionLinenumber: -1
    functionName: jupyter_server.extension.serverextension.BaseExtensionApp
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - traitlets.Bool
    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: 129
    functionName: jupyter_server.extension.serverextension.BaseExtensionApp._log_format_default
    functionSourceFile: jupyter_server.extension.serverextension
    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: 134
    functionName: jupyter_server.extension.serverextension.BaseExtensionApp.config_dir
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.serverextension._get_config_dir
    - jupyter_core.paths.jupyter_config_dir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7faf34ed8520>
    - <ast.Constant object at 0x7faf34ed8b80>
    - <ast.Constant object at 0x7faf34ed8100>
    - <ast.Constant object at 0x7faf34ed88b0>
    argNames:
    - import_name
    - enabled
    - parent
    - user
    - sys_prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 150
    functionName: jupyter_server.extension.serverextension.toggle_server_extension_python
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - jupyter_server.extension.config.ExtensionConfigManager.enable
    - traitlets.config.LoggingConfigurable.log.debug
    - os.makedirs
    - traitlets.config.LoggingConfigurable.__init__
    - data.items
    - jupyter_core.paths.jupyter_config_dir
    - f.write
    - traitlets.Instance.update
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.extension.config.ExtensionConfigManager.disable
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - copy.deepcopy
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - json.load
    - new.items
    - jupyter_server.extension.serverextension._get_config_dir
    - <builtin>.list
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - jupyter_server.services.config.manager.ConfigManager.update
    - json.dumps
    - target.pop
    - glob.glob
    - os.path.join
    - os.path.isfile
    - jupyter_server.config_manager.remove_defaults
    - <builtin>.isinstance
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 27
    functionName: jupyter_server.extension.config.ExtensionConfigManager.enable
    functionSourceFile: jupyter_server.extension.config
    functionUses: 1
    functionsReached:
    - <builtin>.sorted
    - traitlets.config.LoggingConfigurable.log.debug
    - os.makedirs
    - data.items
    - f.write
    - traitlets.Instance.update
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - copy.deepcopy
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - json.load
    - new.items
    - <builtin>.list
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - jupyter_server.services.config.manager.ConfigManager.update
    - json.dumps
    - target.pop
    - glob.glob
    - os.path.join
    - os.path.isfile
    - jupyter_server.config_manager.remove_defaults
    - <builtin>.isinstance
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 32
    functionName: jupyter_server.extension.config.ExtensionConfigManager.disable
    functionSourceFile: jupyter_server.extension.config
    functionUses: 1
    functionsReached:
    - <builtin>.sorted
    - traitlets.config.LoggingConfigurable.log.debug
    - os.makedirs
    - data.items
    - f.write
    - traitlets.Instance.update
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - copy.deepcopy
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - json.load
    - new.items
    - <builtin>.list
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - jupyter_server.services.config.manager.ConfigManager.update
    - json.dumps
    - target.pop
    - glob.glob
    - os.path.join
    - os.path.isfile
    - jupyter_server.config_manager.remove_defaults
    - <builtin>.isinstance
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flags.pop
    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: jupyter_server.extension.serverextension.ToggleServerExtensionApp
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - traitlets.Bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 10
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - import_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 231
    functionName: jupyter_server.extension.serverextension.ToggleServerExtensionApp.toggle_server_extension
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 1
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPackage.validate
    - extension.validate
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_core.paths.jupyter_config_dir
    - jupyter_core.application.JupyterApp.log.info
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - config.disable
    - <builtin>.all
    - traitlets.config.LoggingConfigurable.log.warning
    - module._jupyter_server_extension_paths
    - traitlets.Dict.values
    - jupyter_server.extension.serverextension._get_config_dir
    - <builtin>.super
    - jupyter_server.extension.serverextension._get_extmanager_for_context
    - config.enable
    - os.path.join
    - traitlets.HasTraits.__init__
    - time.perf_counter
    - importlib.import_module
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.extension.utils.get_metadata
    - module._jupyter_server_extension_points
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 179
    functionName: jupyter_server.extension.manager.ExtensionPackage.__init__
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 12
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.HasTraits.__init__
    - <builtin>.super
    - time.perf_counter
    - importlib.import_module
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.extension.utils.get_metadata
    - module._jupyter_server_extension_points
    - module._jupyter_server_extension_paths
    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: 205
    functionName: jupyter_server.extension.manager.ExtensionPackage.validate
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 4
    functionsReached:
    - extension.validate
    - traitlets.Dict.values
    - <builtin>.all
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config.enable
    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: config.disable
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 270
    functionName: jupyter_server.extension.serverextension.ToggleServerExtensionApp.start
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPackage.validate
    - extension.validate
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_core.paths.jupyter_config_dir
    - jupyter_core.application.JupyterApp.log.info
    - sys.exit
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - config.disable
    - <builtin>.all
    - traitlets.config.LoggingConfigurable.log.warning
    - module._jupyter_server_extension_paths
    - jupyter_server.extension.serverextension.ToggleServerExtensionApp.toggle_server_extension
    - traitlets.Dict.values
    - jupyter_server.extension.serverextension._get_config_dir
    - <builtin>.super
    - jupyter_server.extension.serverextension._get_extmanager_for_context
    - config.enable
    - os.path.join
    - traitlets.HasTraits.__init__
    - time.perf_counter
    - importlib.import_module
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.extension.utils.get_metadata
    - module._jupyter_server_extension_points
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 315
    functionName: jupyter_server.extension.serverextension.ListServerExtensionsApp.list_server_extensions
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 1
    functionsReached:
    - <builtin>.sorted
    - jupyter_server.extension.manager.ExtensionPackage.validate
    - jpserver_extensions.items
    - extension.validate
    - data.get
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_core.paths.jupyter_config_dir
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - traitlets.config.LoggingConfigurable.log.info
    - <builtin>.int
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - jupyter_core.application.JupyterApp.log.warning
    - <builtin>.all
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - json.load
    - new.items
    - module._jupyter_server_extension_paths
    - traitlets.Dict.values
    - jupyter_server.extension.serverextension._get_config_dir
    - <builtin>.super
    - jupyter_server.services.config.manager.ConfigManager.get
    - target.pop
    - glob.glob
    - os.path.join
    - os.path.isfile
    - traitlets.HasTraits.__init__
    - time.perf_counter
    - importlib.import_module
    - <builtin>.isinstance
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.extension.utils.get_metadata
    - module._jupyter_server_extension_points
    - <builtin>.open
    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: jpserver_extensions.items
    functionSourceFile: <builtin>
    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: 6
    functionLinenumber: 354
    functionName: jupyter_server.extension.serverextension.ListServerExtensionsApp.start
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - jupyter_server.extension.manager.ExtensionPackage.validate
    - jpserver_extensions.items
    - extension.validate
    - data.get
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_core.paths.jupyter_config_dir
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - jupyter_server.extension.serverextension.ListServerExtensionsApp.list_server_extensions
    - traitlets.config.LoggingConfigurable.log.info
    - <builtin>.int
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - jupyter_core.application.JupyterApp.log.warning
    - <builtin>.all
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - json.load
    - new.items
    - module._jupyter_server_extension_paths
    - traitlets.Dict.values
    - jupyter_server.extension.serverextension._get_config_dir
    - <builtin>.super
    - jupyter_server.services.config.manager.ConfigManager.get
    - target.pop
    - glob.glob
    - os.path.join
    - os.path.isfile
    - traitlets.HasTraits.__init__
    - time.perf_counter
    - importlib.import_module
    - <builtin>.isinstance
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.extension.utils.get_metadata
    - module._jupyter_server_extension_points
    - <builtin>.open
    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: 380
    functionName: jupyter_server.extension.serverextension.ServerExtensionApp.start
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - sys.exit
    - <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: jupyter_core.application.JupyterApp.launch_instance
    functionSourceFile: jupyter_core
    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: jupyter_server.extension.manager
    functionSourceFile: jupyter_server.extension.manager
    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: jupyter_server.extension.manager.ExtensionPoint
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.Dict
    - traitlets.Any
    - traitlets.Bool
    - traitlets.validate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposed
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 24
    functionName: jupyter_server.extension.manager.ExtensionPoint._valid_metadata
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - importlib.import_module
    linkageType: pythonLinkage
    raised:
    - ExtensionModuleNotFound
    - ExtensionMetadataError
    returnType: N/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: 18
    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: 48
    functionName: jupyter_server.extension.manager.ExtensionPoint.linked
    functionSourceFile: jupyter_server.extension.manager
    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: 59
    functionName: jupyter_server.extension.manager.ExtensionPoint.app
    functionSourceFile: jupyter_server.extension.manager
    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: 0
    functionLinenumber: 64
    functionName: jupyter_server.extension.manager.ExtensionPoint.config
    functionSourceFile: jupyter_server.extension.manager
    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: 74
    functionName: jupyter_server.extension.manager.ExtensionPoint.module_name
    functionSourceFile: jupyter_server.extension.manager
    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: 81
    functionName: jupyter_server.extension.manager.ExtensionPoint.name
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.Dict.get
    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: 92
    functionName: jupyter_server.extension.manager.ExtensionPoint.module
    functionSourceFile: jupyter_server.extension.manager
    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: 96
    functionName: jupyter_server.extension.manager.ExtensionPoint._get_linker
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - <builtin>.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: jupyter_server.extension.manager.ExtensionPoint._get_linker.<lambda1>
    functionSourceFile: jupyter_server.extension.manager
    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: 110
    functionName: jupyter_server.extension.manager.ExtensionPoint._get_loader
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - jupyter_server.extension.utils.get_loader
    - warnings.warn
    - <builtin>.getattr
    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 0x7faf34ed87c0>
    argNames:
    - obj
    - logger
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 31
    functionName: jupyter_server.extension.utils.get_loader
    functionSourceFile: jupyter_server.extension.utils
    functionUses: 3
    functionsReached:
    - warnings.warn
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised:
    - ExtensionLoadingError
    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: 3
    functionLinenumber: 118
    functionName: jupyter_server.extension.manager.ExtensionPoint.validate
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.utils.get_loader
    - warnings.warn
    - jupyter_server.extension.manager.ExtensionPoint._get_loader
    - <builtin>.getattr
    - jupyter_server.extension.manager.ExtensionPoint._get_linker
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 128
    functionName: jupyter_server.extension.manager.ExtensionPoint.link
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPoint._get_linker
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 140
    functionName: jupyter_server.extension.manager.ExtensionPoint.load
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.utils.get_loader
    - warnings.warn
    - jupyter_server.extension.manager.ExtensionPoint._get_loader
    - <builtin>.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: 1
    functionLinenumber: -1
    functionName: jupyter_server.extension.manager.ExtensionPackage
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - traitlets.default
    - traitlets.List
    - traitlets.Dict
    - traitlets.Unicode
    - traitlets.Bool
    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: 174
    functionName: jupyter_server.extension.manager.ExtensionPackage._load_version
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    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: 185
    functionName: jupyter_server.extension.manager.ExtensionPackage._load_metadata
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 13
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.HasTraits.__init__
    - time.perf_counter
    - importlib.import_module
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.extension.utils.get_metadata
    - module._jupyter_server_extension_points
    - module._jupyter_server_extension_paths
    linkageType: pythonLinkage
    raised:
    - ExtensionModuleNotFound
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf358886d0>
    argNames:
    - package_name
    - logger
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 61
    functionName: jupyter_server.extension.utils.get_metadata
    functionSourceFile: jupyter_server.extension.utils
    functionUses: 14
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - time.perf_counter
    - traitlets.config.LoggingConfigurable.log.info
    - importlib.import_module
    - module._jupyter_server_extension_points
    - module._jupyter_server_extension_paths
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.validate
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - point_name
    - serverapp
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 209
    functionName: jupyter_server.extension.manager.ExtensionPackage.link_point
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 1
    functionsReached:
    - traitlets.Dict.get
    - point.link
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: point.link
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - point_name
    - serverapp
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 216
    functionName: jupyter_server.extension.manager.ExtensionPackage.load_point
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 1
    functionsReached:
    - traitlets.config.LoggingConfigurable.load
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.load
    functionSourceFile: traitlets
    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
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 221
    functionName: jupyter_server.extension.manager.ExtensionPackage.link_all_points
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPackage.link_point
    - traitlets.Dict.get
    - point.link
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 226
    functionName: jupyter_server.extension.manager.ExtensionPackage.load_all_points
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPackage.load_point
    - traitlets.config.LoggingConfigurable.load
    linkageType: 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: jupyter_server.extension.manager.ExtensionManager
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - traitlets.default
    - traitlets.Dict
    - traitlets.Instance
    - traitlets.observe
    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: 7
    functionLinenumber: 244
    functionName: jupyter_server.extension.manager.ExtensionManager._load_default_config_manager
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - data.get
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - importlib.import_module
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - json.load
    - new.items
    - module._jupyter_server_extension_paths
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - <builtin>.super
    - jupyter_server.services.config.manager.ConfigManager.get
    - traitlets.Dict.items
    - target.pop
    - jupyter_server.extension.manager.ExtensionManager._load_config_manager
    - glob.glob
    - os.path.join
    - os.path.isfile
    - traitlets.HasTraits.__init__
    - time.perf_counter
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - <builtin>.isinstance
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.extension.utils.get_metadata
    - module._jupyter_server_extension_points
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - config_manager
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 304
    functionName: jupyter_server.extension.manager.ExtensionManager._load_config_manager
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - <builtin>.sorted
    - data.get
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - importlib.import_module
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - json.load
    - new.items
    - module._jupyter_server_extension_paths
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - <builtin>.super
    - jupyter_server.services.config.manager.ConfigManager.get
    - traitlets.Dict.items
    - target.pop
    - glob.glob
    - os.path.join
    - os.path.isfile
    - traitlets.HasTraits.__init__
    - time.perf_counter
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - <builtin>.isinstance
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.extension.utils.get_metadata
    - module._jupyter_server_extension_points
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 250
    functionName: jupyter_server.extension.manager.ExtensionManager._config_manager_changed
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - data.get
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - importlib.import_module
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - json.load
    - new.items
    - module._jupyter_server_extension_paths
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - <builtin>.super
    - jupyter_server.services.config.manager.ConfigManager.get
    - traitlets.Dict.items
    - target.pop
    - jupyter_server.extension.manager.ExtensionManager._load_config_manager
    - glob.glob
    - os.path.join
    - os.path.isfile
    - traitlets.HasTraits.__init__
    - time.perf_counter
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - <builtin>.isinstance
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.extension.utils.get_metadata
    - module._jupyter_server_extension_points
    - <builtin>.open
    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: 266
    functionName: jupyter_server.extension.manager.ExtensionManager.sorted_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - traitlets.Dict.items
    - <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: 0
    functionLinenumber: -1
    functionName: traitlets.Dict.items
    functionSourceFile: traitlets
    functionUses: 15
    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: 283
    functionName: jupyter_server.extension.manager.ExtensionManager.extension_apps
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - extension.extension_points.values
    - traitlets.Dict.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: extension.extension_points.values
    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: 1
    functionLinenumber: 291
    functionName: jupyter_server.extension.manager.ExtensionManager.extension_points
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.Dict.values
    - value.extension_points.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: value.extension_points.items
    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
    - config_manager
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 299
    functionName: jupyter_server.extension.manager.ExtensionManager.from_config_manager
    functionSourceFile: jupyter_server.extension.manager
    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 0x7faf3603e400>
    argNames:
    - self
    - extension_name
    - enabled
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 314
    functionName: jupyter_server.extension.manager.ExtensionManager.add_extension
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 6
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.HasTraits.__init__
    - <builtin>.super
    - time.perf_counter
    - importlib.import_module
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.extension.utils.get_metadata
    - module._jupyter_server_extension_points
    - module._jupyter_server_extension_paths
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 335
    functionName: jupyter_server.extension.manager.ExtensionManager.link_extension
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 3
    functionsReached:
    - extension.link_all_points
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Dict.get
    - traitlets.config.LoggingConfigurable.log.info
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.link_all_points
    functionSourceFile: <builtin>
    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
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 350
    functionName: jupyter_server.extension.manager.ExtensionManager.load_extension
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 3
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - extension.load_all_points
    - traitlets.Dict.get
    - traitlets.config.LoggingConfigurable.log.info
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.load_all_points
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - apps
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 366
    functionName: jupyter_server.extension.manager.ExtensionManager.stop_extension
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 4
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - app.stop_extension
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: app.stop_extension
    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: tornado.gen.multi
    functionSourceFile: tornado
    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: app.current_activity
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.extension.utils
    functionSourceFile: jupyter_server.extension.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: time.perf_counter
    functionSourceFile: time
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: module._jupyter_server_extension_points
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: module._jupyter_server_extension_paths
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 115
    functionName: jupyter_server.extension.utils.validate_extension
    functionSourceFile: jupyter_server.extension.utils
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.HasTraits.__init__
    - <builtin>.super
    - time.perf_counter
    - importlib.import_module
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.extension.utils.get_metadata
    - module._jupyter_server_extension_points
    - module._jupyter_server_extension_paths
    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: jupyter_server.extension.config
    functionSourceFile: jupyter_server.extension.config
    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
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 23
    functionName: jupyter_server.services.config.manager.ConfigManager.get
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 9
    functionsReached:
    - <builtin>.sorted
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - jupyter_server.config_manager.recursive_update
    - <builtin>.isinstance
    - json.load
    - <builtin>.open
    - new.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: data.get
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7faf355eeac0>
    - <ast.Constant object at 0x7faf355ee0a0>
    argNames:
    - self
    - name
    - section_name
    - include_root
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 19
    functionName: jupyter_server.extension.config.ExtensionConfigManager.enabled
    functionSourceFile: jupyter_server.extension.config
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - target.pop
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - glob.glob
    - data.get
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - jupyter_server.services.config.manager.ConfigManager.get
    - <builtin>.isinstance
    - json.load
    - <builtin>.open
    - new.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - section_name
    - new_data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 36
    functionName: jupyter_server.services.config.manager.ConfigManager.update
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 3
    functionsReached:
    - <builtin>.sorted
    - traitlets.config.LoggingConfigurable.log.debug
    - os.makedirs
    - data.items
    - f.write
    - traitlets.Instance.update
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - copy.deepcopy
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - json.load
    - new.items
    - <builtin>.list
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - json.dumps
    - target.pop
    - glob.glob
    - os.path.join
    - os.path.isfile
    - jupyter_server.config_manager.remove_defaults
    - <builtin>.isinstance
    - <builtin>.open
    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: jupyter_server.services.config.manager
    functionSourceFile: jupyter_server.services.config.manager
    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: jupyter_server.services.config.manager.ConfigManager
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - traitlets.default
    - traitlets.List
    - traitlets.Unicode.tag
    - traitlets.Unicode
    - traitlets.Instance
    - traitlets.observe
    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 0x7faf351c9280>
    argNames:
    - self
    - section_name
    - include_root
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 74
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.get
    functionSourceFile: jupyter_server.config_manager
    functionUses: 18
    functionsReached:
    - <builtin>.sorted
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - glob.glob
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - jupyter_server.config_manager.recursive_update
    - <builtin>.isinstance
    - json.load
    - <builtin>.open
    - new.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - target
    - new
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 14
    functionName: jupyter_server.config_manager.recursive_update
    functionSourceFile: jupyter_server.config_manager
    functionUses: 19
    functionsReached:
    - jupyter_server.config_manager.recursive_update
    - <builtin>.isinstance
    - target.pop
    - new.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - section_name
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 32
    functionName: jupyter_server.services.config.manager.ConfigManager.set
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - traitlets.config.LoggingConfigurable.log.debug
    - os.makedirs
    - data.items
    - f.write
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - copy.deepcopy
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - json.load
    - new.items
    - traitlets.Instance.set
    - <builtin>.list
    - json.dumps
    - target.pop
    - glob.glob
    - os.path.join
    - os.path.isfile
    - jupyter_server.config_manager.remove_defaults
    - <builtin>.isinstance
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.set
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - section_name
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 104
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.set
    functionSourceFile: jupyter_server.config_manager
    functionUses: 7
    functionsReached:
    - <builtin>.sorted
    - traitlets.config.LoggingConfigurable.log.debug
    - os.makedirs
    - data.items
    - f.write
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - jupyter_server.config_manager.recursive_update
    - copy.deepcopy
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - json.load
    - new.items
    - <builtin>.list
    - json.dumps
    - target.pop
    - glob.glob
    - os.path.join
    - os.path.isfile
    - jupyter_server.config_manager.remove_defaults
    - <builtin>.isinstance
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - section_name
    - new_data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 121
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.update
    functionSourceFile: jupyter_server.config_manager
    functionUses: 5
    functionsReached:
    - <builtin>.sorted
    - traitlets.config.LoggingConfigurable.log.debug
    - os.makedirs
    - data.items
    - f.write
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - copy.deepcopy
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - json.load
    - new.items
    - <builtin>.list
    - json.dumps
    - target.pop
    - glob.glob
    - os.path.join
    - os.path.isfile
    - jupyter_server.config_manager.remove_defaults
    - <builtin>.isinstance
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.update
    functionSourceFile: traitlets
    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: 1
    functionLinenumber: 45
    functionName: jupyter_server.services.config.manager.ConfigManager._default_read_config_path
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - os.path.join
    - jupyter_core.paths.jupyter_config_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: jupyter_core.paths.jupyter_config_path
    functionSourceFile: jupyter_core
    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: 51
    functionName: jupyter_server.services.config.manager.ConfigManager._default_write_config_dir
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - os.path.join
    - jupyter_core.paths.jupyter_config_dir
    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: 57
    functionName: jupyter_server.services.config.manager.ConfigManager._default_write_config_manager
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 61
    functionName: jupyter_server.services.config.manager.ConfigManager._update_write_config_dir
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    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: jupyter_server.config_manager
    functionSourceFile: jupyter_server.config_manager
    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: new.items
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.pop
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - data
    - defaults
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 35
    functionName: jupyter_server.config_manager.remove_defaults
    functionSourceFile: jupyter_server.config_manager
    functionUses: 8
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.list
    - data.items
    - jupyter_server.config_manager.remove_defaults
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.items
    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: traitlets.traitlets.Unicode
    functionSourceFile: traitlets
    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: jupyter_server.config_manager.BaseJSONConfigManager
    functionSourceFile: jupyter_server.config_manager
    functionUses: 0
    functionsReached:
    - traitlets.traitlets.Unicode
    - traitlets.traitlets.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: traitlets.traitlets.Bool
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 58
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    functionSourceFile: jupyter_server.config_manager
    functionUses: 8
    functionsReached:
    - os.makedirs
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 66
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.file_name
    functionSourceFile: jupyter_server.config_manager
    functionUses: 19
    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
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 70
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.directory
    functionSourceFile: jupyter_server.config_manager
    functionUses: 19
    functionsReached:
    - 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: copy.deepcopy
    functionSourceFile: copy
    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: jupyter_server.services.config
    functionSourceFile: jupyter_server.services.config
    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: jupyter_server._sysinfo
    functionSourceFile: jupyter_server._sysinfo
    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:
    - pkg_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 14
    functionName: jupyter_server._sysinfo.pkg_commit_hash
    functionSourceFile: jupyter_server._sysinfo
    functionUses: 8
    functionsReached:
    - repo_commit.strip
    - os.path.exists
    - os.path.join
    - subprocess.Popen
    - os.path.dirname
    - proc.communicate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: proc.communicate
    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: repo_commit.strip
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - pkg_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 62
    functionName: jupyter_server._sysinfo.pkg_info
    functionSourceFile: jupyter_server._sysinfo
    functionUses: 7
    functionsReached:
    - repo_commit.strip
    - os.path.exists
    - os.path.join
    - subprocess.Popen
    - jupyter_server._sysinfo.pkg_commit_hash
    - os.path.dirname
    - proc.communicate
    - platform.platform
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: platform.platform
    functionSourceFile: <builtin>
    functionUses: 8
    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: jupyter_server.base.handlers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    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: 4
    functionLinenumber: 53
    functionName: jupyter_server.base.handlers.json_sys_info
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - os.path.realpath
    - repo_commit.strip
    - os.path.abspath
    - os.path.exists
    - os.path.join
    - subprocess.Popen
    - jupyter_server._sysinfo.get_sys_info
    - os.path.dirname
    - jupyter_server._sysinfo.pkg_commit_hash
    - jupyter_server._sysinfo.pkg_info
    - proc.communicate
    - json.dumps
    - platform.platform
    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: 1
    functionLinenumber: 61
    functionName: jupyter_server.base.handlers.log
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - traitlets.config.Application.initialized
    - traitlets.config.Application.instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.Application.initialized
    functionSourceFile: traitlets
    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: traitlets.config.Application.instance
    functionSourceFile: traitlets
    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: 73
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.base_url
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.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: tornado.web.RequestHandler.settings.get
    functionSourceFile: tornado
    functionUses: 38
    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: 77
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.content_security_policy
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.set_default_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - headers.items
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.settings.get
    - headers.update
    - tornado.web.RequestHandler.log.exception
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.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: headers.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: tornado.web.RequestHandler.set_header
    functionSourceFile: tornado
    functionUses: 53
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.log.exception
    functionSourceFile: tornado
    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: 116
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.cookie_name
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    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 0x7faf338c1f10>
    - <ast.Constant object at 0x7faf338c1ee0>
    argNames:
    - self
    - name
    - path
    - domain
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 126
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.force_clear_cookie
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    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: 137
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.clear_login_cookie
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 148
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.get_current_user
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - warnings.warn
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 166
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    functionSourceFile: jupyter_server.base.handlers
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 178
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.token_authenticated
    functionSourceFile: jupyter_server.base.handlers
    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: 183
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.logged_in
    functionSourceFile: jupyter_server.base.handlers
    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: 189
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.login_handler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    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: 201
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.token
    functionSourceFile: jupyter_server.base.handlers
    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: 206
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.login_available
    functionSourceFile: jupyter_server.base.handlers
    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: 216
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.authorizer
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    - tornado.web.RequestHandler.settings.get
    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: 239
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.identity_provider
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    - tornado.web.RequestHandler.settings.get
    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: 267
    functionName: jupyter_server.base.handlers.JupyterHandler.config
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    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: 271
    functionName: jupyter_server.base.handlers.JupyterHandler.log
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.log
    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: 276
    functionName: jupyter_server.base.handlers.JupyterHandler.jinja_template_vars
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    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: 281
    functionName: jupyter_server.base.handlers.JupyterHandler.serverapp
    functionSourceFile: jupyter_server.base.handlers
    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: 289
    functionName: jupyter_server.base.handlers.JupyterHandler.version_hash
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    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: 294
    functionName: jupyter_server.base.handlers.JupyterHandler.mathjax_url
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.url_path_join
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.settings.get
    - s.strip
    - jupyter_server.utils.url_is_absolute
    - urllib.parse.urlparse.path.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 51
    functionName: jupyter_server.utils.url_is_absolute
    functionSourceFile: jupyter_server.utils
    functionUses: 1
    functionsReached:
    - urllib.parse.urlparse
    - urllib.parse.urlparse.path.startswith
    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: 301
    functionName: jupyter_server.base.handlers.JupyterHandler.mathjax_config
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    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: 305
    functionName: jupyter_server.base.handlers.JupyterHandler.default_url
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    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: 309
    functionName: jupyter_server.base.handlers.JupyterHandler.ws_url
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    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: 313
    functionName: jupyter_server.base.handlers.JupyterHandler.contents_js_source
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    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: 325
    functionName: jupyter_server.base.handlers.JupyterHandler.kernel_manager
    functionSourceFile: jupyter_server.base.handlers
    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: 329
    functionName: jupyter_server.base.handlers.JupyterHandler.contents_manager
    functionSourceFile: jupyter_server.base.handlers
    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: 333
    functionName: jupyter_server.base.handlers.JupyterHandler.session_manager
    functionSourceFile: jupyter_server.base.handlers
    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: 337
    functionName: jupyter_server.base.handlers.JupyterHandler.terminal_manager
    functionSourceFile: jupyter_server.base.handlers
    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: 341
    functionName: jupyter_server.base.handlers.JupyterHandler.kernel_spec_manager
    functionSourceFile: jupyter_server.base.handlers
    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: 345
    functionName: jupyter_server.base.handlers.JupyterHandler.config_manager
    functionSourceFile: jupyter_server.base.handlers
    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: 349
    functionName: jupyter_server.base.handlers.JupyterHandler.event_logger
    functionSourceFile: jupyter_server.base.handlers
    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: 357
    functionName: jupyter_server.base.handlers.JupyterHandler.allow_origin
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    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: 362
    functionName: jupyter_server.base.handlers.JupyterHandler.allow_origin_pat
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    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: 367
    functionName: jupyter_server.base.handlers.JupyterHandler.allow_credentials
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    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: 371
    functionName: jupyter_server.base.handlers.JupyterHandler.set_default_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 375
    functionName: jupyter_server.base.handlers.JupyterHandler.set_cors_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - re.match
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.base.handlers.JupyterHandler.get_origin
    - tornado.web.RequestHandler.request.headers.get
    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: 411
    functionName: jupyter_server.base.handlers.JupyterHandler.get_origin
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 2
    functionsReached:
    - tornado.web.RequestHandler.request.headers.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: tornado.web.RequestHandler.request.headers.get
    functionSourceFile: tornado
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 397
    functionName: jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 8
    functionsReached:
    - urllib.parse.quote
    - path.split
    - jupyter_server.utils.url_escape
    - tornado.web.RequestHandler.set_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf344781f0>
    argNames:
    - self
    - origin_to_satisfy_tornado
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 424
    functionName: jupyter_server.base.handlers.JupyterHandler.check_origin
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 2
    functionsReached:
    - <builtin>.bool
    - re.match
    - urllib.parse.urlparse
    - origin.lower
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 4
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 471
    functionName: jupyter_server.base.handlers.JupyterHandler.check_referer
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 8
    functionsReached:
    - <builtin>.bool
    - re.match
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 517
    functionName: jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 7
    functionsReached:
    - <builtin>.bool
    - re.match
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - <builtin>.super
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.settings.get
    - tornado.web.RequestHandler.request.headers.get
    - <builtin>.hasattr
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 541
    functionName: jupyter_server.base.handlers.JupyterHandler.check_host
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - host.startswith
    - match.group
    - socket_path.replace
    - os.path.exists
    - re.match
    - check_host.startswith
    - host.endswith
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.utils.urldecode_unix_socket_path
    - ipaddress.ip_address
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: host.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: host.endswith
    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:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 203
    functionName: jupyter_server.utils.urldecode_unix_socket_path
    functionSourceFile: jupyter_server.utils
    functionUses: 3
    functionsReached:
    - socket_path.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: check_host.startswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 583
    functionName: jupyter_server.base.handlers.JupyterHandler.prepare
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - socket_path.replace
    - warnings.warn
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - jupyter_server.base.handlers.JupyterHandler.get_origin
    - <builtin>.bool
    - os.path.exists
    - tornado.web.RequestHandler.set_header
    - host.endswith
    - jupyter_server.utils.urldecode_unix_socket_path
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - jupyter_server.base.handlers.AuthenticatedHandler.get_current_user
    - <builtin>.super
    - <builtin>.type
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.base.handlers.JupyterHandler.set_cors_headers
    - tornado.web.RequestHandler.request.headers.get
    - <builtin>.hasattr
    - jupyter_server.base.handlers.JupyterHandler.check_host
    - host.startswith
    - match.group
    - re.match
    - check_host.startswith
    - inspect.getmodule
    - <builtin>.isinstance
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - ipaddress.ip_address
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.getmodule
    functionSourceFile: inspect
    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: 0
    functionLinenumber: 627
    functionName: jupyter_server.base.handlers.JupyterHandler.get_template
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 11
    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
    - ns
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 631
    functionName: jupyter_server.base.handlers.JupyterHandler.render_template
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 10
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - ns.update
    - template.render
    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: 5
    functionLinenumber: 638
    functionName: jupyter_server.base.handlers.JupyterHandler.template_namespace
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - combined.clear
    - jupyter_server._sysinfo.get_sys_info
    - combined.update
    - jupyter_server._sysinfo.pkg_info
    - proc.communicate
    - <builtin>.bool
    - os.path.realpath
    - lang.replace
    - jupyter_server.i18n.parse_accept_lang_header
    - jupyter_server.i18n.load
    - collections.defaultdict.items
    - res.extend
    - os.path.exists
    - subprocess.Popen
    - jupyter_server.i18n.cached_load
    - os.path.dirname
    - jupyter_server.i18n.combine_translations
    - jupyter_server.base.handlers.json_sys_info
    - json.load
    - platform.platform
    - m.group
    - part.strip
    - os.path.abspath
    - _accept_lang_re.match
    - jupyter_server._sysinfo.pkg_commit_hash
    - <builtin>.getattr
    - <builtin>.dict
    - tornado.web.RequestHandler.request.headers.get
    - json.dumps
    - repo_commit.strip
    - os.path.join
    - accept_lang.split
    - <builtin>.float
    - <builtin>.open
    - collections.defaultdict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf35b4bc70>
    argNames:
    - accept_language
    - domain
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 81
    functionName: jupyter_server.i18n.combine_translations
    functionSourceFile: jupyter_server.i18n
    functionUses: 1
    functionsReached:
    - <builtin>.sorted
    - lang.replace
    - part.strip
    - jupyter_server.i18n.parse_accept_lang_header
    - jupyter_server.i18n.load
    - collections.defaultdict.items
    - res.extend
    - os.path.join
    - combined.clear
    - _accept_lang_re.match
    - jupyter_server.i18n.cached_load
    - accept_lang.split
    - combined.update
    - <builtin>.open
    - <builtin>.float
    - json.load
    - m.group
    - collections.defaultdict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 661
    functionName: jupyter_server.base.handlers.JupyterHandler.get_json_body
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 12
    functionsReached:
    - tornado.web.RequestHandler.request.body.strip
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.request.body.strip
    functionSourceFile: tornado
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - status_code
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 675
    functionName: jupyter_server.base.handlers.JupyterHandler.write_error
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - http.client.responses.get
    - tornado.web.RequestHandler.write
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - kwargs.get
    - tornado.web.RequestHandler.set_header
    - <builtin>.getattr
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - template.render
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: http.client.responses.get
    functionSourceFile: http
    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: tornado.web.RequestHandler.write
    functionSourceFile: tornado
    functionUses: 15
    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: 717
    functionName: jupyter_server.base.handlers.APIHandler.prepare
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.check_origin
    - <builtin>.bool
    - re.match
    - <builtin>.super
    - urllib.parse.urlparse
    - origin.lower
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - status_code
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 723
    functionName: jupyter_server.base.handlers.APIHandler.write_error
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - http.client.responses.get
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - kwargs.get
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - traceback.format_exception
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - <builtin>.isinstance
    - json.dumps
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traceback.format_exception
    functionSourceFile: traceback
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 775
    functionName: jupyter_server.base.handlers.APIHandler.finish
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 36
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - datetime.datetime.utcnow
    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: 743
    functionName: jupyter_server.base.handlers.APIHandler.get_login_url
    functionSourceFile: jupyter_server.base.handlers
    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: 753
    functionName: jupyter_server.base.handlers.APIHandler.content_security_policy
    functionSourceFile: jupyter_server.base.handlers
    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: 765
    functionName: jupyter_server.base.handlers.APIHandler.update_api_activity
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 37
    functionsReached:
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.get_argument
    functionSourceFile: tornado
    functionUses: 51
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 783
    functionName: jupyter_server.base.handlers.APIHandler.options
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - h.strip
    - tornado.web.RequestHandler.settings.get
    - <builtin>.any
    - tornado.web.RequestHandler.request.headers.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: h.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: <builtin>.any
    functionSourceFile: <builtin>
    functionUses: 48
    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: 826
    functionName: jupyter_server.base.handlers.Template404.prepare
    functionSourceFile: jupyter_server.base.handlers
    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: 1
    functionLinenumber: 838
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.content_security_policy
    functionSourceFile: jupyter_server.base.handlers
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.authenticated
    functionSourceFile: ''
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 845
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.head
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - re.match
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - <builtin>.super
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.settings.get
    - tornado.web.RequestHandler.request.headers.get
    - <builtin>.hasattr
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 852
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - os.path.splitext
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - path.split
    - tornado.web.StaticFileHandler.get
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - urllib.parse.quote
    - jupyter_server.utils.url_escape
    - path.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: path.rsplit
    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: tornado.web.StaticFileHandler.get
    functionSourceFile: tornado
    functionUses: 6
    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: 1
    functionLinenumber: 860
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.get_content_type
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - mimetypes.guess_type
    - <builtin>.super
    - name.endswith
    - tornado.web.RequestHandler.absolute_path.strip
    - path.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: tornado.web.RequestHandler.absolute_path.strip
    functionSourceFile: tornado
    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.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: mimetypes.guess_type
    functionSourceFile: mimetypes
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 877
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.set_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.add_header
    - <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: tornado.web.RequestHandler.add_header
    functionSourceFile: tornado
    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: 884
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.compute_etag
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - root
    - absolute_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 888
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.validate_absolute_path
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.is_hidden
    - os.path.abspath
    - <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: jupyter_core.paths.is_hidden
    functionSourceFile: jupyter_core
    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:
    - method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 906
    functionName: jupyter_server.base.handlers.json_errors
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 925
    functionName: jupyter_server.base.handlers.json_errors.wrapper
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - types.MethodType
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.MethodType
    functionSourceFile: types
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 947
    functionName: jupyter_server.base.handlers.FileFindHandler.set_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.FileFindHandler.request.path.startswith
    - <builtin>.any
    - tornado.web.RequestHandler.set_header
    - <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: jupyter_server.base.handlers.FileFindHandler.request.path.startswith
    functionSourceFile: jupyter_server
    functionUses: 1
    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 0x7faf34339a00>
    - <ast.Constant object at 0x7faf343399d0>
    argNames:
    - self
    - path
    - default_filename
    - no_cache_paths
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 956
    functionName: jupyter_server.base.handlers.FileFindHandler.initialize
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - os.path.expanduser
    - <builtin>.tuple
    - os.path.abspath
    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: 966
    functionName: jupyter_server.base.handlers.FileFindHandler.compute_etag
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - roots
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 971
    functionName: jupyter_server.base.handlers.FileFindHandler.get_absolute_path
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.filefind
    - os.path.abspath
    - jupyter_server.base.handlers.log
    - traitlets.config.Application.instance
    - traitlets.config.Application.initialized
    - os.path.join
    - os.path.expanduser
    - os.path.isfile
    - os.path.isabs
    - tornado.log.app_log.debug
    - filename.strip
    - os.getcwd
    - s.replace
    - <builtin>.isinstance
    - os.path.expandvars
    - jupyter_server.utils.expand_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf33ddf430>
    argNames:
    - filename
    - path_dirs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 327
    functionName: jupyter_server.utils.filefind
    functionSourceFile: jupyter_server.utils
    functionUses: 1
    functionsReached:
    - os.path.abspath
    - os.path.join
    - os.path.expanduser
    - os.path.isfile
    - os.path.expandvars
    - filename.strip
    - os.getcwd
    - s.replace
    - os.path.isabs
    - jupyter_server.utils.expand_path
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.log.app_log.debug
    functionSourceFile: tornado
    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:
    - self
    - root
    - absolute_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 987
    functionName: jupyter_server.base.handlers.FileFindHandler.validate_absolute_path
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: 4
    functionLinenumber: 1002
    functionName: jupyter_server.base.handlers.APIVersionHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - json.dumps
    - datetime.datetime.utcnow
    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: 1014
    functionName: jupyter_server.base.handlers.TrailingSlashHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.request.uri.partition
    - tornado.web.RequestHandler.redirect
    - path.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: tornado.web.RequestHandler.request.uri.partition
    functionSourceFile: tornado
    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: path.strip
    functionSourceFile: <builtin>
    functionUses: 78
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.redirect
    functionSourceFile: tornado
    functionUses: 12
    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: 1030
    functionName: jupyter_server.base.handlers.MainHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.write
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - template.render
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1042
    functionName: jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 4
    functionsReached:
    - parts.remove
    - jupyter_server.utils.url_path_join
    - path.split
    - tornado.web.RequestHandler.redirect
    - jupyter_core.utils.ensure_async
    - urllib.parse.quote
    - jupyter_server.utils.url_escape
    - s.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: path.split
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.remove
    functionSourceFile: <builtin>
    functionUses: 5
    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 0x7faf34363160>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1070
    functionName: jupyter_server.base.handlers.FilesRedirectHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    - parts.remove
    - jupyter_server.utils.url_path_join
    - path.split
    - tornado.web.RequestHandler.redirect
    - jupyter_core.utils.ensure_async
    - urllib.parse.quote
    - jupyter_server.utils.url_escape
    - s.strip
    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 0x7faf343634f0>
    argNames:
    - self
    - url
    - permanent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1077
    functionName: jupyter_server.base.handlers.RedirectWithParams.initialize
    functionSourceFile: jupyter_server.base.handlers
    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: 1082
    functionName: jupyter_server.base.handlers.RedirectWithParams.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - sep.join
    - tornado.web.RequestHandler.redirect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sep.join
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1094
    functionName: jupyter_server.base.handlers.PrometheusMetricsHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.write
    - prometheus_client.generate_latest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prometheus_client.generate_latest
    functionSourceFile: prometheus_client
    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: jupyter_server.i18n
    functionSourceFile: jupyter_server.i18n
    functionUses: 0
    functionsReached:
    - os.path.dirname
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - accept_lang
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 31
    functionName: jupyter_server.i18n.parse_accept_lang_header
    functionSourceFile: jupyter_server.i18n
    functionUses: 2
    functionsReached:
    - <builtin>.sorted
    - lang.replace
    - part.strip
    - collections.defaultdict.items
    - res.extend
    - _accept_lang_re.match
    - accept_lang.split
    - <builtin>.float
    - m.group
    - collections.defaultdict
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.defaultdict
    functionSourceFile: collections
    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: accept_lang.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: part.strip
    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: _accept_lang_re.match
    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: lang.replace
    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.defaultdict.items
    functionSourceFile: collections
    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: res.extend
    functionSourceFile: <builtin>
    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 0x7faf362ae2e0>
    argNames:
    - language
    - domain
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 56
    functionName: jupyter_server.i18n.load
    functionSourceFile: jupyter_server.i18n
    functionUses: 3
    functionsReached:
    - os.path.join
    - json.load
    - <builtin>.open
    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 0x7faf333fc130>
    argNames:
    - language
    - domain
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 70
    functionName: jupyter_server.i18n.cached_load
    functionSourceFile: jupyter_server.i18n
    functionUses: 2
    functionsReached:
    - <builtin>.open
    - os.path.join
    - json.load
    - jupyter_server.i18n.load
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: combined.clear
    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: combined.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.security
    functionSourceFile: jupyter_server.services.security
    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: jupyter_server._tz
    functionSourceFile: jupyter_server._tz
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utc_aware
    - datetime.timedelta
    - datetime.tzinfo.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - d
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 17
    functionName: jupyter_server._tz.tzUTC.utcoffset
    functionSourceFile: jupyter_server._tz
    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
    - d
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 21
    functionName: jupyter_server._tz.tzUTC.dst
    functionSourceFile: jupyter_server._tz
    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: datetime.tzinfo.__init__
    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:
    - unaware
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 29
    functionName: jupyter_server._tz.utc_aware
    functionSourceFile: jupyter_server._tz
    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: datetime.datetime.utcfromtimestamp
    functionSourceFile: datetime
    functionUses: 53
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dt.replace
    functionSourceFile: <builtin>
    functionUses: 53
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - dt
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: jupyter_server._tz.isoformat
    functionSourceFile: jupyter_server._tz
    functionUses: 5
    functionsReached:
    - dt.isoformat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dt.isoformat
    functionSourceFile: <builtin>
    functionUses: 6
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.utils
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - typing.NewType
    - contextlib.contextmanager
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.NewType
    functionSourceFile: typing
    functionUses: 91
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.strip
    functionSourceFile: <builtin>
    functionUses: 53
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.urlparse.path.startswith
    functionSourceFile: urllib
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 56
    functionName: jupyter_server.utils.path2url
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - urllib.parse.quote
    - path.split
    - jupyter_server.utils.url_path_join
    - s.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: urllib.parse.quote
    functionSourceFile: urllib
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 66
    functionName: jupyter_server.utils.url2path
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - os.path.join
    - urllib.parse.unquote
    - url.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: urllib.parse.unquote
    functionSourceFile: urllib
    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: url.split
    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:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: jupyter_server.utils.url_unescape
    functionSourceFile: jupyter_server.utils
    functionUses: 3
    functionsReached:
    - urllib.parse.unquote
    - path.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - path
    - other_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 90
    functionName: jupyter_server.utils.samefile_simple
    functionSourceFile: jupyter_server.utils
    functionUses: 6
    functionsReached:
    - os.stat
    - path.lower
    - other_path.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: path.lower
    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: other_path.lower
    functionSourceFile: <builtin>
    functionUses: 7
    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 0x7faf351c9190>
    argNames:
    - path
    - root
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 117
    functionName: jupyter_server.utils.to_os_path
    functionSourceFile: jupyter_server.utils
    functionUses: 77
    functionsReached:
    - os.path.join
    - <builtin>.str
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 78
    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 0x7faf337b8280>
    argNames:
    - os_path
    - root
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 129
    functionName: jupyter_server.utils.to_api_path
    functionSourceFile: jupyter_server.utils
    functionUses: 69
    functionsReached:
    - typing.NewType
    - os_path.strip
    - os_path.startswith
    - <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: os_path.startswith
    functionSourceFile: <builtin>
    functionUses: 70
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.strip
    functionSourceFile: <builtin>
    functionUses: 70
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - v
    - check
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 143
    functionName: jupyter_server.utils.check_version
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - packaging.version.Version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: packaging.version.Version
    functionSourceFile: packaging
    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: ctypes.windll.kernel32.OpenProcess
    functionSourceFile: ctypes
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - maybe_async
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 188
    functionName: jupyter_server.utils.run_sync_in_loop
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - warnings.warn
    - jupyter_core.utils.ensure_async
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Unicode.replace
    functionSourceFile: traitlets
    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: socket_path.replace
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 208
    functionName: jupyter_server.utils.urlencode_unix_socket
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.urlencode_unix_socket_path
    - traitlets.Unicode.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf362a7430>
    - <ast.Constant object at 0x7faf362a7100>
    - <ast.Constant object at 0x7faf362a71f0>
    argNames:
    - urlstring
    - method
    - body
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 230
    functionName: jupyter_server.utils._request_for_tornado_client
    functionSourceFile: jupyter_server.utils
    functionUses: 3
    functionsReached:
    - tornado.netutil.Resolver
    - tornado.httpclient.AsyncHTTPClient.configure
    - urllib.parse.SplitResult
    - urllib.parse.urlunsplit
    - urllib.parse.urlsplit
    - tornado.httpclient.HTTPRequest
    - tornado.netutil.Resolver.__init__
    linkageType: pythonLinkage
    raised:
    - Exception
    returnType: N/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.urlsplit
    functionSourceFile: urllib
    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: urllib.parse.SplitResult
    functionSourceFile: urllib
    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
    - resolver
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 260
    functionName: jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.initialize
    functionSourceFile: jupyter_server.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: 263
    functionName: jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.close
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - host
    - port
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 266
    functionName: jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.resolve
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.urldecode_unix_socket_path
    - socket_path.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: tornado.netutil.Resolver
    functionSourceFile: tornado
    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: tornado.netutil.Resolver.__init__
    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: tornado.httpclient.AsyncHTTPClient.configure
    functionSourceFile: tornado
    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: urllib.parse.urlunsplit
    functionSourceFile: urllib
    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: tornado.httpclient.HTTPRequest
    functionSourceFile: tornado
    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: tornado.httpclient.HTTPClient
    functionSourceFile: tornado
    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: tornado.httpclient.HTTPClient.fetch
    functionSourceFile: tornado
    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 0x7faf35541160>
    - <ast.Constant object at 0x7faf35541130>
    - <ast.Constant object at 0x7faf35541100>
    - <ast.Constant object at 0x7faf355410d0>
    argNames:
    - urlstring
    - method
    - body
    - headers
    - io_loop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 293
    functionName: jupyter_server.utils.async_fetch
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - tornado.netutil.Resolver
    - tornado.httpclient.AsyncHTTPClient.fetch
    - tornado.httpclient.AsyncHTTPClient.configure
    - jupyter_server.utils._request_for_tornado_client
    - urllib.parse.SplitResult
    - tornado.httpclient.AsyncHTTPClient
    - tornado.netutil.Resolver.__init__
    - urllib.parse.urlsplit
    - tornado.httpclient.HTTPRequest
    - urllib.parse.urlunsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.httpclient.AsyncHTTPClient
    functionSourceFile: tornado
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.httpclient.AsyncHTTPClient.fetch
    functionSourceFile: tornado
    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:
    - namespace
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 305
    functionName: jupyter_server.utils.is_namespace_package
    functionSourceFile: jupyter_server.utils
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - importlib.util.find_spec
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: filename.strip
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 381
    functionName: jupyter_server.utils.expand_path
    functionSourceFile: jupyter_server.utils
    functionUses: 2
    functionsReached:
    - s.replace
    - os.path.expanduser
    - os.path.expandvars
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 402
    functionName: jupyter_server.utils.import_item
    functionSourceFile: jupyter_server.utils
    functionUses: 5
    functionsReached:
    - <builtin>.len
    - <builtin>.__import__
    - traitlets.Any.rsplit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised:
    - ImportError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Any.rsplit
    functionSourceFile: traitlets
    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: jupyter_server.extension
    functionSourceFile: jupyter_server.extension
    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: jupyter_server.services.contents
    functionSourceFile: jupyter_server.services.contents
    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: jupyter_server.auth.login
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    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 0x7faf34c2a370>
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 21
    functionName: jupyter_server.auth.login.LoginFormHandler._render
    functionSourceFile: jupyter_server.auth.login
    functionUses: 3
    functionsReached:
    - tornado.escape.url_escape
    - tornado.web.RequestHandler.write
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - template.render
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.escape.url_escape
    functionSourceFile: tornado
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf34c1fd90>
    argNames:
    - self
    - url
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 31
    functionName: jupyter_server.auth.login.LoginFormHandler._redirect_safe
    functionSourceFile: jupyter_server.auth.login
    functionUses: 3
    functionsReached:
    - <builtin>.bool
    - re.match
    - tornado.web.RequestHandler.redirect
    - urllib.parse.urlparse
    - origin.lower
    - urllib.parse.urlparse.path.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 63
    functionName: jupyter_server.auth.login.LoginFormHandler.get
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - tornado.web.RequestHandler.write
    - tornado.escape.url_escape
    - jupyter_server.auth.login.LoginFormHandler._redirect_safe
    - re.match
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - tornado.web.RequestHandler.redirect
    - tornado.web.RequestHandler.get_argument
    - urllib.parse.urlparse
    - origin.lower
    - urllib.parse.urlparse.path.startswith
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - jupyter_server.auth.login.LoginFormHandler._render
    - template.render
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 71
    functionName: jupyter_server.auth.login.LoginFormHandler.post
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - tornado.web.RequestHandler.write
    - tornado.escape.url_escape
    - jupyter_server.auth.login.LoginFormHandler._redirect_safe
    - re.match
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - tornado.web.RequestHandler.redirect
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - urllib.parse.urlparse
    - origin.lower
    - urllib.parse.urlparse.path.startswith
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - jupyter_server.auth.login.LoginFormHandler._render
    - template.render
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.set_status
    functionSourceFile: tornado
    functionUses: 21
    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: 93
    functionName: jupyter_server.auth.login.LegacyLoginHandler.hashed_password
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.login.LegacyLoginHandler.password_from_settings
    - tornado.web.RequestHandler.settings.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - settings
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 268
    functionName: jupyter_server.auth.login.LegacyLoginHandler.password_from_settings
    functionSourceFile: jupyter_server.auth.login
    functionUses: 3
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - a
    - b
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 96
    functionName: jupyter_server.auth.login.LegacyLoginHandler.passwd_check
    functionSourceFile: jupyter_server.auth.login
    functionUses: 1
    functionsReached:
    - jupyter_server.auth.login.LegacyLoginHandler.passwd_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 100
    functionName: jupyter_server.auth.login.LegacyLoginHandler.post
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - ph.hash
    - tornado.web.RequestHandler.write
    - tornado.escape.url_escape
    - jupyter_server.auth.login.LegacyLoginHandler.passwd_check
    - jupyter_server.auth.login.LegacyLoginHandler.get_login_available
    - warnings.warn
    - jupyter_server.auth.login.LegacyLoginHandler.set_login_cookie
    - tornado.web.RequestHandler.set_secure_cookie
    - os.makedirs
    - <builtin>.str
    - jupyter_core.paths.jupyter_config_dir
    - <builtin>.range
    - traitlets.config.Config
    - cookie_options.setdefault
    - urllib.parse.urlparse.path.startswith
    - jupyter_server.auth.security.persist_config
    - jupyter_server.auth.security.passwd
    - uuid.uuid4
    - f.write
    - traitlets.config.JSONFileConfigLoader.load_config
    - jupyter_server.auth.login.LoginFormHandler._render
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - <builtin>.bool
    - random.getrandbits
    - getpass.getpass.encode
    - h.update
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - os.path.dirname
    - <builtin>.open
    - template.render
    - os.path.basename
    - tornado.web.RequestHandler.redirect
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.settings.get
    - <builtin>.getattr
    - json.dumps
    - getpass.getpass
    - h.hexdigest
    - traceback.format_exc
    - salt.encode
    - jupyter_server.auth.login.LoginFormHandler._redirect_safe
    - jupyter_server.auth.security.set_password
    - re.match
    - os.path.join
    - traitlets.config.JSONFileConfigLoader
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - ns.update
    - jupyter_server.auth.login.LegacyLoginHandler.password_from_settings
    - origin.lower
    - os.chmod
    - argon2.PasswordHasher
    - hashlib.new
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - settings
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 273
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_login_available
    functionSourceFile: jupyter_server.auth.login
    functionUses: 1
    functionsReached:
    - <builtin>.bool
    - jupyter_server.auth.login.LegacyLoginHandler.password_from_settings
    - tornado.web.RequestHandler.settings.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf34665670>
    argNames:
    - cls
    - handler
    - user_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 126
    functionName: jupyter_server.auth.login.LegacyLoginHandler.set_login_cookie
    functionSourceFile: jupyter_server.auth.login
    functionUses: 2
    functionsReached:
    - tornado.web.RequestHandler.set_secure_cookie
    - tornado.web.RequestHandler.settings.get
    - cookie_options.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: tornado.web.RequestHandler.set_secure_cookie
    functionSourceFile: tornado
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.auth.login.LegacyLoginHandler
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 141
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_token
    functionSourceFile: jupyter_server.auth.login
    functionUses: 2
    functionsReached:
    - handler.request.headers.get
    - cls.auth_header_pat.match
    - handler.get_argument
    - m.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.auth_header_pat.match
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 159
    functionName: jupyter_server.auth.login.LegacyLoginHandler.should_check_origin
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.login.LegacyLoginHandler.is_token_authenticated
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 164
    functionName: jupyter_server.auth.login.LegacyLoginHandler.is_token_authenticated
    functionSourceFile: jupyter_server.auth.login
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 172
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_user
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.login.LegacyLoginHandler.get_token
    - handler.get_secure_cookie
    - tornado.web.RequestHandler.set_secure_cookie
    - jupyter_server.auth.login.LegacyLoginHandler.set_login_cookie
    - cookie_options.setdefault
    - uuid.uuid4
    - handler.log.debug
    - cls.auth_header_pat.match
    - handler.get_cookie
    - jupyter_server.auth.login.LegacyLoginHandler.get_user_cookie
    - m.group
    - handler.request.headers.get
    - handler.log.info
    - tornado.web.RequestHandler.settings.get
    - <builtin>.getattr
    - handler.get_argument
    - jupyter_server.auth.login.LegacyLoginHandler.get_user_token
    - handler.clear_login_cookie
    - user_id.decode
    - handler.log.warning
    - handler.settings.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 218
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_user_token
    functionSourceFile: jupyter_server.auth.login
    functionUses: 1
    functionsReached:
    - handler.request.headers.get
    - jupyter_server.auth.login.LegacyLoginHandler.get_token
    - handler.get_secure_cookie
    - cls.auth_header_pat.match
    - handler.settings.get
    - jupyter_server.auth.login.LegacyLoginHandler.get_user_cookie
    - user_id.decode
    - handler.get_argument
    - uuid.uuid4
    - handler.log.debug
    - m.group
    - handler.log.info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 209
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_user_cookie
    functionSourceFile: jupyter_server.auth.login
    functionUses: 2
    functionsReached:
    - handler.settings.get
    - handler.get_secure_cookie
    - user_id.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handler.log.warning
    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: handler.clear_login_cookie
    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: user_id.decode
    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: handler.log.info
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf34c1ed60>
    argNames:
    - cls
    - app
    - ssl_options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 250
    functionName: jupyter_server.auth.login.LegacyLoginHandler.validate_security
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - app.log.warning
    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: jupyter_server.services.sessions.sessionmanager
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - typing.NewType
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 49
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecord.__eq__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.all
    - <builtin>.any
    linkageType: pythonLinkage
    raised:
    - KernelSessionRecordConflict
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 81
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecord.update
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - dataclasses.fields
    - <builtin>.setattr
    - <builtin>.getattr
    - <builtin>.isinstance
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised:
    - TypeError
    - KernelSessionRecordConflict
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dataclasses.fields
    functionSourceFile: dataclasses
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - records
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 107
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__init__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 1
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - record
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 147
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 113
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__str__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - record
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 117
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__contains__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 128
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__len__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - record
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 132
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.get
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - record
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 155
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.remove
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    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: jupyter_server.services.sessions.sessionmanager.SessionManager
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    - <builtin>.all
    - traitlets.Unicode.tag
    - jupyter_server.traittypes.InstanceFromClasses.__init__
    - <builtin>.super
    - traitlets.Instance
    - inspect.isclass
    - <builtin>.isinstance
    - traitlets.validate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 177
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager._validate_database_filepath
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - path.exists
    - header.startswith
    - path.is_dir
    - f.read
    - pathlib.Path
    - <builtin>.open
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.exists
    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: path.is_dir
    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: header.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7faf35b4bdc0>
    - <ast.Constant object at 0x7faf35b4b340>
    - <ast.Constant object at 0x7faf35b4b2e0>
    argNames:
    - self
    - klasses
    - args
    - kw
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: jupyter_server.traittypes.InstanceFromClasses.__init__
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - inspect.isclass
    - <builtin>.all
    - <builtin>.isinstance
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - TraitError
    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: 2
    functionLinenumber: 205
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.__init__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update
    - <builtin>.super
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__init__
    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: 0
    functionLinenumber: 216
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.cursor
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    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: 227
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.connection
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - pysqlite2.dbapi2.connect
    - sqlite3.connect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pysqlite2.dbapi2.connect
    functionSourceFile: pysqlite2
    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: sqlite3.connect
    functionSourceFile: sqlite3
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 235
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.close
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    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: 241
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.__del__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 245
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.session_exists
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.kernel_model
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - jupyter_core.utils.ensure_async
    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 0x7faf362ce490>
    argNames:
    - self
    - row
    - tolerate_culled
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 468
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 7
    functionsReached:
    - traitlets.Instance.kernel_model
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - jupyter_core.utils.ensure_async
    linkageType: pythonLinkage
    raised:
    - KeyError
    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: 261
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.new_session_id
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 1
    functionsReached:
    - uuid.uuid4
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7faf337ba460>
    - <ast.Constant object at 0x7faf337ba730>
    - <ast.Constant object at 0x7faf337ba340>
    - <ast.Constant object at 0x7faf337ba760>
    - <ast.Constant object at 0x7faf337ba040>
    argNames:
    - self
    - path
    - name
    - type
    - kernel_name
    - kernel_id
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 265
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.create_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.kernel_model
    - kwargs.items
    - <builtin>.str
    - uuid.uuid4
    - q.append
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update
    - kwargs.values
    - jupyter_server.services.sessions.sessionmanager.SessionManager.save_session
    - jupyter_server.services.sessions.sessionmanager.SessionManager.start_kernel_for_session
    - conditions.append
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - traitlets.Instance.cwd_for_path
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env
    - <builtin>.list
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_session
    - traitlets.ClassBasedTraitType.get_kernel_path
    - os.path.join
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.remove
    - jupyter_server.services.sessions.sessionmanager.SessionManager.new_session_id
    - traitlets.Instance.start_kernel
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - session_id
    - path
    - name
    - type
    - kernel_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 317
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.start_kernel_for_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 1
    functionsReached:
    - traitlets.ClassBasedTraitType.get_kernel_path
    - os.path.join
    - traitlets.Instance.cwd_for_path
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env
    - traitlets.Instance.start_kernel
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7faf362be6d0>
    - <ast.Constant object at 0x7faf362be6a0>
    - <ast.Constant object at 0x7faf362be670>
    - <ast.Constant object at 0x7faf362be640>
    argNames:
    - self
    - session_id
    - path
    - name
    - type
    - kernel_id
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 352
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.save_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 1
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_session
    - conditions.append
    - kwargs.values
    - traitlets.Instance.kernel_model
    - kwargs.items
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - jupyter_core.utils.ensure_async
    - <builtin>.list
    - q.append
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    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 0x7faf362bbc10>
    argNames:
    - self
    - path
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 298
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 2
    functionsReached:
    - os.path.join
    - traitlets.Instance.cwd_for_path
    - <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: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.cwd_for_path
    functionSourceFile: traitlets
    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: traitlets.ClassBasedTraitType.get_kernel_path
    functionSourceFile: traitlets
    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: traitlets.Instance.start_kernel
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 384
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.get_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 4
    functionsReached:
    - conditions.append
    - traitlets.Instance.kernel_model
    - kwargs.values
    - kwargs.items
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - jupyter_core.utils.ensure_async
    - <builtin>.list
    - q.append
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    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: conditions.append
    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: kwargs.values
    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: q.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - session_id
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 435
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.update_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_session
    - conditions.append
    - kwargs.values
    - traitlets.Instance.kernel_model
    - kwargs.items
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - jupyter_core.utils.ensure_async
    - <builtin>.list
    - q.append
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - sets.append
    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: sets.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: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 464
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    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: traitlets.Instance.kernel_model
    functionSourceFile: traitlets
    functionUses: 8
    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: 504
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.list_sessions
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.kernel_model
    - c.fetchall
    - result.append
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: c.fetchall
    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: 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
    - session_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 519
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.delete_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_session
    - conditions.append
    - kwargs.values
    - traitlets.Instance.kernel_model
    - kwargs.items
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.remove
    - <builtin>.list
    - q.append
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - traitlets.Instance.shutdown_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.shutdown_kernel
    functionSourceFile: traitlets
    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: jupyter_server.traittypes
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7faf361d2070>
    - <ast.Constant object at 0x7faf361d2040>
    argNames:
    - self
    - default_value
    - klasses
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 14
    functionName: jupyter_server.traittypes.TypeFromClasses.__init__
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - inspect.isclass
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/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.isclass
    functionSourceFile: inspect
    functionUses: 3
    functionsReached: []
    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: 61
    functionName: jupyter_server.traittypes.TypeFromClasses.subclass_from_klasses
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - <builtin>.any
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 65
    functionName: jupyter_server.traittypes.TypeFromClasses.validate
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - traitlets.ClassBasedTraitType._resolve_string
    - traitlets.ClassBasedTraitType.error
    - <builtin>.any
    - <builtin>.isinstance
    - jupyter_server.traittypes.TypeFromClasses.subclass_from_klasses
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.ClassBasedTraitType._resolve_string
    functionSourceFile: traitlets
    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: traitlets.ClassBasedTraitType.error
    functionSourceFile: traitlets
    functionUses: 2
    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: 84
    functionName: jupyter_server.traittypes.TypeFromClasses.info
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - result.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: result.strip
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 97
    functionName: jupyter_server.traittypes.TypeFromClasses.instance_init
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - jupyter_server.traittypes.TypeFromClasses._resolve_classes
    - traitlets.ClassBasedTraitType._resolve_string
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 102
    functionName: jupyter_server.traittypes.TypeFromClasses._resolve_classes
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - traitlets.ClassBasedTraitType._resolve_string
    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: 119
    functionName: jupyter_server.traittypes.TypeFromClasses.default_value_repr
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <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: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 182
    functionName: jupyter_server.traittypes.InstanceFromClasses.instance_from_importable_klasses
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 186
    functionName: jupyter_server.traittypes.InstanceFromClasses.validate
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - jupyter_server.traittypes.InstanceFromClasses.instance_from_importable_klasses
    - <builtin>.any
    - traitlets.ClassBasedTraitType.error
    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: 193
    functionName: jupyter_server.traittypes.InstanceFromClasses.info
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - result.strip
    - traitlets.utils.descriptions.describe
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.utils.descriptions.describe
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 208
    functionName: jupyter_server.traittypes.InstanceFromClasses.instance_init
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - traitlets.ClassBasedTraitType._resolve_string
    - jupyter_server.traittypes.InstanceFromClasses._resolve_classes
    - <builtin>.isinstance
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 213
    functionName: jupyter_server.traittypes.InstanceFromClasses._resolve_classes
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - traitlets.ClassBasedTraitType._resolve_string
    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: 228
    functionName: jupyter_server.traittypes.InstanceFromClasses.make_dynamic_default
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - traitlets.ClassBasedTraitType.klass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.ClassBasedTraitType.klass
    functionSourceFile: traitlets
    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: 236
    functionName: jupyter_server.traittypes.InstanceFromClasses.default_value_repr
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - traitlets.ClassBasedTraitType.klass
    - <builtin>.repr
    - jupyter_server.traittypes.InstanceFromClasses.make_dynamic_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 240
    functionName: jupyter_server.traittypes.InstanceFromClasses.from_string
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - ast.literal_eval
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: jupyter_server.services.contents.filemanager
    functionSourceFile: jupyter_server.services.contents.filemanager
    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: jupyter_server.services.contents.filemanager.FileContentsManager
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - traitlets.default
    - traitlets.Unicode
    - traitlets.Bool
    - traitlets.Int
    - traitlets.validate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Int
    functionSourceFile: traitlets
    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: 50
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._default_root_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.getcwd
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._validate_root_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.path.isabs
    - os.path.isdir
    - os.path.abspath
    linkageType: pythonLinkage
    raised:
    - TraitError
    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: 67
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._default_preferred_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - pathlib.Path
    - warnings.warn
    - pathlib.Path.relative_to
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathlib.Path.relative_to
    functionSourceFile: pathlib
    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
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 89
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._validate_preferred_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - typing.NewType
    - <builtin>.len
    - <builtin>.super
    - jupyter_server.utils.to_api_path
    - os_path.startswith
    - os_path.strip
    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: 95
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._checkpoints_class_default
    functionSourceFile: jupyter_server.services.contents.filemanager
    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: 117
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._files_handler_class_default
    functionSourceFile: jupyter_server.services.contents.filemanager
    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: 121
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._files_handler_params_default
    functionSourceFile: jupyter_server.services.contents.filemanager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 124
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 30
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - typing.NewType
    - os.path.join
    - <builtin>.str
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - path.strip
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 238
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 73
    functionsReached:
    - os.path.abspath
    - typing.NewType
    - os.path.join
    - os.path.normpath
    - <builtin>.str
    - os.path.splitdrive
    - jupyter_server.utils.to_os_path
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1068
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 38
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - typing.NewType
    - os.path.join
    - os.path.normpath
    - <builtin>.str
    - os.path.splitdrive
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - path.strip
    - jupyter_server.utils.to_os_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 142
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 31
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - typing.NewType
    - traitlets.config.Configurable.log.error
    - os.path.join
    - os.path.normpath
    - <builtin>.str
    - os.path.splitdrive
    - path.strip
    - jupyter_server.utils.to_os_path
    - os.access
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.access
    functionSourceFile: os
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.Configurable.log.error
    functionSourceFile: traitlets
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 164
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.file_exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - typing.NewType
    - os.path.join
    - os.path.isfile
    - os.path.normpath
    - <builtin>.str
    - os.path.splitdrive
    - path.strip
    - jupyter_server.utils.to_os_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 183
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.dir_exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 2
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - typing.NewType
    - os.path.join
    - os.path.normpath
    - <builtin>.str
    - os.path.splitdrive
    - path.strip
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 203
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 23
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - typing.NewType
    - os.path.join
    - os.path.normpath
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - os.path.splitdrive
    - path.strip
    - jupyter_server.utils.to_os_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 222
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 26
    functionsReached:
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - traitlets.config.Configurable.log.error
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_os_path
    - os.path.abspath
    - typing.NewType
    - path.strip
    - os.lstat
    - traitlets.config.Configurable.log.info
    - os.path.join
    - traitlets.config.Configurable.log.warning
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - path.rsplit
    - datetime.datetime
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.Configurable.log.info
    functionSourceFile: traitlets
    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: traitlets.config.Configurable.log.warning
    functionSourceFile: traitlets
    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: datetime.datetime
    functionSourceFile: datetime
    functionUses: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 8
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf34edb850>
    argNames:
    - self
    - path
    - content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 270
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 5
    functionsReached:
    - os.path.split
    - <builtin>.len
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.read
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - functools.partial
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - model.update
    - nbformat.validate
    - validation_error.get
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - path.rsplit
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - os_path.strip
    - jupyter_core.paths.is_file_hidden
    - f.read
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - base64.encodebytes
    - mimetypes.guess_type
    - stat.S_ISREG
    - <builtin>.any
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.replace_file
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - anyio.to_thread.run_sync
    - path.strip
    - json.dumps
    - os.listdir
    - os.lstat
    - stat.S_ISDIR
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - os.access
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - os.path.abspath
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - traitlets.config.Configurable.log.debug
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os.replace
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - path.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: stat.S_ISLNK
    functionSourceFile: stat
    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: stat.S_ISREG
    functionSourceFile: stat
    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: stat.S_ISDIR
    functionSourceFile: stat
    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: traitlets.config.Configurable.log.debug
    functionSourceFile: traitlets
    functionUses: 45
    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: 734
    functionName: jupyter_server.services.contents.manager.ContentsManager.should_list
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 22
    functionsReached:
    - <builtin>.any
    - fnmatch.fnmatch
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.paths.is_file_hidden
    functionSourceFile: jupyter_core
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7faf35743460>
    - <ast.Constant object at 0x7faf35743430>
    - <ast.Constant object at 0x7faf35743400>
    argNames:
    - self
    - path
    - content
    - type
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 852
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 21
    functionsReached:
    - os.path.split
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.str
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.path_to_invalid
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os.path.abspath
    - typing.NewType
    - base64.encodebytes
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - mimetypes.guess_type
    - stat.S_ISREG
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.any
    - bcontent.decode
    - path.strip
    - json.dumps
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - os.lstat
    - functools.partial
    - stat.S_ISDIR
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - traitlets.config.Configurable.log.info
    - base64.encodebytes.decode
    - os.path.join
    - nbformat.validate
    - model.update
    - validation_error.get
    - traitlets.Instance.mark_cells
    - traitlets.config.Configurable.log.warning
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - path.rsplit
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - path.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7faf33de2580>
    - <ast.Constant object at 0x7faf33de2550>
    - <ast.Constant object at 0x7faf33de2520>
    argNames:
    - self
    - path
    - content
    - type
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 388
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.get
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 5
    functionsReached:
    - os.path.split
    - <builtin>.len
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.read
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - functools.partial
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - model.update
    - nbformat.validate
    - validation_error.get
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - path.rsplit
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - os_path.strip
    - jupyter_core.paths.is_file_hidden
    - f.read
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - base64.encodebytes
    - mimetypes.guess_type
    - stat.S_ISREG
    - <builtin>.any
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.replace_file
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - anyio.to_thread.run_sync
    - path.strip
    - json.dumps
    - os.listdir
    - os.lstat
    - stat.S_ISDIR
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - os.path.abspath
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - traitlets.config.Configurable.log.debug
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os.replace
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - path.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: contents.append
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf358aad30>
    - <ast.Constant object at 0x7faf358aad60>
    argNames:
    - self
    - path
    - content
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 334
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._file_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 6
    functionsReached:
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - os.access
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - traitlets.config.Configurable.log.error
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - f.read
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.utils.to_os_path
    - os.path.abspath
    - typing.NewType
    - base64.encodebytes
    - mimetypes.guess_type
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - os_path.startswith
    - os.lstat
    - traitlets.config.Configurable.log.info
    - base64.encodebytes.decode
    - model.update
    - os.path.join
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - path.rsplit
    - datetime.datetime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 303
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 8
    functionsReached:
    - base64.encodebytes.decode
    - <builtin>.len
    - typing.NewType
    - base64.encodebytes
    - os.path.isfile
    - bcontent.decode
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - f.read
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os_path.strip
    - os_path.startswith
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: model.update
    functionSourceFile: <builtin>
    functionUses: 24
    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 0x7faf358123a0>
    argNames:
    - self
    - path
    - content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 366
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 6
    functionsReached:
    - os.path.split
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.replace_file
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.access
    - os_path.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - nbformat.read
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.utils.to_os_path
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - json.dumps
    - os_path.startswith
    - os.lstat
    - traitlets.config.Configurable.log.info
    - os.path.join
    - nbformat.validate
    - traitlets.config.Configurable.log.warning
    - validation_error.get
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - os.replace
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - <builtin>.isinstance
    - path.rsplit
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    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 0x7faf363c9f70>
    - <ast.Constant object at 0x7faf34cbaa30>
    argNames:
    - self
    - os_path
    - as_version
    - capture_validation_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 264
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 8
    functionsReached:
    - nbformat.read
    - os.path.split
    - os.path.exists
    - os.path.join
    - <builtin>.len
    - typing.NewType
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os.replace
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.replace_file
    - jupyter_server.services.contents.fileio.path_to_invalid
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os_path.startswith
    - os_path.strip
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf351facd0>
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 717
    functionName: jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 24
    functionsReached:
    - traitlets.Instance.check_signature
    - traitlets.Instance.mark_cells
    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 0x7faf352195b0>
    argNames:
    - self
    - model
    - validation_error
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 550
    functionName: jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 24
    functionsReached:
    - nbformat.validate
    - validation_error.get
    - <builtin>.str
    - <builtin>.isinstance
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 8
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf361c5430>
    argNames:
    - self
    - path
    - content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 733
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 21
    functionsReached:
    - os.path.split
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.str
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.path_to_invalid
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os.path.abspath
    - typing.NewType
    - base64.encodebytes
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - mimetypes.guess_type
    - stat.S_ISREG
    - <builtin>.any
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - json.dumps
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - functools.partial
    - stat.S_ISDIR
    - os.lstat
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - base64.encodebytes.decode
    - model.update
    - os.path.join
    - traitlets.config.Configurable.log.warning
    - nbformat.validate
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - validation_error.get
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - path.rsplit
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - path.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: path.endswith
    functionSourceFile: <builtin>
    functionUses: 22
    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 0x7faf3573e2e0>
    argNames:
    - self
    - path
    - content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 830
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 22
    functionsReached:
    - os.path.split
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.access
    - os_path.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - json.dumps
    - os_path.startswith
    - os.lstat
    - functools.partial
    - traitlets.config.Configurable.log.info
    - os.path.join
    - nbformat.validate
    - traitlets.config.Configurable.log.warning
    - validation_error.get
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - <builtin>.isinstance
    - path.rsplit
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf3573d280>
    - <ast.Constant object at 0x7faf3573d250>
    argNames:
    - self
    - path
    - content
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 798
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 22
    functionsReached:
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - <builtin>.str
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - os.access
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - traitlets.config.Configurable.log.error
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - os.path.abspath
    - typing.NewType
    - base64.encodebytes
    - mimetypes.guess_type
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - os_path.startswith
    - os.lstat
    - traitlets.config.Configurable.log.info
    - base64.encodebytes.decode
    - model.update
    - os.path.join
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - path.rsplit
    - datetime.datetime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 75
    functionName: jupyter_server.services.contents.manager.ContentsManager.emit
    functionSourceFile: ''
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf358ac8b0>
    argNames:
    - self
    - os_path
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 438
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._save_directory
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - <builtin>.str
    - os_path.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - os.mkdir
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf355eebe0>
    argNames:
    - self
    - os_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 215
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 67
    functionsReached:
    - typing.NewType
    - <builtin>.len
    - jupyter_server.utils.to_api_path
    - os_path.startswith
    - os_path.strip
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/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: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 12
    IfCount: 9
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf358ad5e0>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 450
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.save
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.path.split
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.len
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - nbformat.from_dict
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.fileio.path_to_invalid
    - f.write
    - nbformat.read
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - <builtin>.open
    - os.path.islink
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - traitlets.Instance.check_cells
    - functools.partial
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - model.update
    - nbformat.validate
    - validation_error.get
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - fileobj.close
    - path.rsplit
    - model.get
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - os_path.strip
    - jupyter_core.paths.is_file_hidden
    - f.read
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.create_checkpoint
    - base64.encodebytes
    - mimetypes.guess_type
    - stat.S_ISREG
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - traitlets.Instance.create_checkpoint
    - bcontent.decode
    - <builtin>.any
    - os_path.startswith
    - os.readlink
    - os.mkdir
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.replace_file
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._save_file
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - jupyter_server.services.contents.fileio.FileManagerMixin._save_notebook
    - anyio.to_thread.run_sync
    - path.strip
    - json.dumps
    - os.listdir
    - traitlets.Instance.sign
    - os.lstat
    - stat.S_ISDIR
    - base64.encodebytes.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - content.encode
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - os.path.normpath
    - os.path.dirname
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - path.endswith
    - os.path.abspath
    - jupyter_server.services.contents.fileio._simple_writing
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - traitlets.config.Configurable.log.debug
    - jupyter_server.services.contents.filemanager.FileContentsManager._save_directory
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - nbformat.write
    - os.replace
    - kwargs.setdefault
    - traitlets.Instance.list_checkpoints
    - <builtin>.isinstance
    - base64.decodebytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 282
    functionName: jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    functionSourceFile: ''
    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: nbformat.from_dict
    functionSourceFile: nbformat
    functionUses: 12
    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 0x7faf351ff2b0>
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 700
    functionName: jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 11
    functionsReached:
    - traitlets.Instance.check_cells
    - traitlets.Instance.sign
    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 0x7faf332afbb0>
    argNames:
    - self
    - os_path
    - nb
    - capture_validation_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 293
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._save_notebook
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 2
    functionsReached:
    - os.readlink
    - jupyter_server.services.contents.fileio._simple_writing
    - <builtin>.len
    - typing.NewType
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - nbformat.write
    - os.path.dirname
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - kwargs.setdefault
    - fileobj.close
    - os.path.islink
    - os_path.strip
    - os_path.startswith
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.list_checkpoints
    functionSourceFile: traitlets
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 739
    functionName: jupyter_server.services.contents.manager.ContentsManager.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - traitlets.Instance.create_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: model.get
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - content
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 332
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._save_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 2
    functionsReached:
    - os.readlink
    - jupyter_server.services.contents.fileio._simple_writing
    - <builtin>.len
    - typing.NewType
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - os.path.dirname
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - kwargs.setdefault
    - base64.decodebytes
    - fileobj.close
    - <builtin>.open
    - f.write
    - os.path.islink
    - os_path.strip
    - os_path.startswith
    - content.encode
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf34277a30>
    argNames:
    - self
    - os_path
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 897
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 9
    functionsReached:
    - <builtin>.len
    - <builtin>.str
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - os_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 304
    functionName: jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    functionSourceFile: ''
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 8
    IfCount: 8
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 503
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.delete_file
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - shutil.rmtree
    - os.access
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os_path.strip
    - os.unlink
    - <builtin>.set
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - traitlets.config.Configurable.log.error
    - os.path.normpath
    - jupyter_server.services.contents.filemanager.FileContentsManager.delete_file._check_trash
    - send2trash.send2trash
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.stat
    - <builtin>.getattr
    - path.strip
    - os.path.expanduser
    - os.listdir
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - os.path.join
    - jupyter_server.services.contents.filemanager.FileContentsManager.delete_file.is_non_empty_dir
    - traitlets.config.Configurable.log.warning
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - os_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 516
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.delete_file._check_trash
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 1
    functionsReached:
    - os.path.expanduser
    - os.stat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - os_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 527
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.delete_file.is_non_empty_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 1
    functionsReached:
    - os.path.isdir
    - <builtin>.set
    - os.listdir
    - <builtin>.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: send2trash.send2trash
    functionSourceFile: send2trash
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 569
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.rename_file
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.str
    - path.lower
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os_path.strip
    - shutil.move
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.path.abspath
    - new_path.strip
    - os.path.samefile
    - typing.NewType
    - jupyter_server.utils.samefile_simple
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.stat
    - old_path.strip
    - path.strip
    - os_path.startswith
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - other_path.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: old_path.strip
    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: new_path.strip
    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: os.path.samefile
    functionSourceFile: os
    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: shutil.move
    functionSourceFile: shutil
    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: 597
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.info_string
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf3620ad30>
    argNames:
    - self
    - path
    - model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 601
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.get_kernel_path
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - jupyter_server.services.contents.filemanager.FileContentsManager.dir_exists
    - typing.NewType
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.path.normpath
    - <builtin>.str
    - os.path.splitdrive
    - path.strip
    - path.rsplit
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1056
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 13
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - typing.NewType
    - os.path.join
    - os.path.normpath
    - <builtin>.str
    - os.path.splitdrive
    - path.strip
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf3620a6d0>
    argNames:
    - self
    - from_path
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 608
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.copy
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.path.split
    - jupyter_server.services.contents.filemanager.FileContentsManager.dir_exists
    - <builtin>.len
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.read
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.check_folder_size
    - subprocess.run
    - jupyter_server.services.contents.filemanager.FileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._copy_dir
    - functools.partial
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - model.update
    - nbformat.validate
    - validation_error.get
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - path.rsplit
    - from_path.strip
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - os_path.strip
    - to_path_original.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - copy_pat.sub
    - jupyter_core.paths.is_file_hidden
    - f.read
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.check_folder_size
    - base64.encodebytes
    - platform.system
    - mimetypes.guess_type
    - stat.S_ISREG
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.any
    - os_path.startswith
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - to_path.strip
    - jupyter_server.services.contents.fileio.replace_file
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - traitlets.config.Configurable.strip
    - anyio.to_thread.run_sync
    - <builtin>.super
    - path.strip
    - json.dumps
    - os.listdir
    - os.lstat
    - stat.S_ISDIR
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - jupyter_server.services.contents.filemanager.FileContentsManager._copy_dir
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - <builtin>.int
    - os.path.normpath
    - jupyter_server.services.contents.filemanager.FileContentsManager._get_dir_size
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    - os.path.abspath
    - shutil.copytree
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - traitlets.config.Configurable.log.debug
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os.replace
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - path.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: from_path.strip
    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: to_path.strip
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1146
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.check_folder_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 2
    functionsReached:
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    - <builtin>.int
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - typing.NewType
    - os.path.join
    - traitlets.config.Configurable.log.warning
    - platform.system
    - os.path.normpath
    - <builtin>.str
    - subprocess.run
    - os.path.splitdrive
    - jupyter_server.utils.to_os_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 671
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.check_folder_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 1
    functionsReached:
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    - <builtin>.int
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - typing.NewType
    - os.path.join
    - traitlets.config.Configurable.log.warning
    - platform.system
    - os.path.normpath
    - subprocess.run
    - <builtin>.str
    - os.path.splitdrive
    - jupyter_server.services.contents.filemanager.FileContentsManager._get_dir_size
    - jupyter_server.utils.to_os_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: copy_pat.sub
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - from_path
    - to_path_original
    - to_name
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1125
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._copy_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 2
    functionsReached:
    - os.path.split
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.str
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.path_to_invalid
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - os_path.strip
    - to_path_original.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - traitlets.config.Configurable.strip
    - contents.append
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os.path.abspath
    - shutil.copytree
    - typing.NewType
    - base64.encodebytes
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - mimetypes.guess_type
    - stat.S_ISREG
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.any
    - bcontent.decode
    - path.strip
    - json.dumps
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - os.lstat
    - functools.partial
    - stat.S_ISDIR
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - traitlets.config.Configurable.log.info
    - base64.encodebytes.decode
    - os.path.join
    - nbformat.validate
    - model.update
    - validation_error.get
    - traitlets.Instance.mark_cells
    - traitlets.config.Configurable.log.warning
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - path.rsplit
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - path.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - from_path
    - to_path_original
    - to_name
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 652
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._copy_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 1
    functionsReached:
    - os.path.split
    - <builtin>.len
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.read
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - functools.partial
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - model.update
    - nbformat.validate
    - validation_error.get
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - path.rsplit
    - from_path.strip
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - os_path.strip
    - to_path_original.strip
    - jupyter_core.paths.is_file_hidden
    - f.read
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - base64.encodebytes
    - mimetypes.guess_type
    - stat.S_ISREG
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.any
    - os_path.startswith
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.replace_file
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - anyio.to_thread.run_sync
    - path.strip
    - json.dumps
    - os.listdir
    - os.lstat
    - stat.S_ISDIR
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - os.path.abspath
    - shutil.copytree
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - traitlets.config.Configurable.log.debug
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os.replace
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - path.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: to_path_original.strip
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf34cfc280>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1165
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 4
    functionsReached:
    - platform.system
    - traitlets.config.Configurable.log.warning
    - traitlets.config.Configurable.log.info
    - subprocess.run
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf361c00a0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 690
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._get_dir_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 2
    functionsReached:
    - platform.system
    - traitlets.config.Configurable.log.warning
    - traitlets.config.Configurable.log.info
    - subprocess.run
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: platform.system
    functionSourceFile: platform
    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: subprocess.run
    functionSourceFile: subprocess
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 713
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._human_readable_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - math.log2
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: math.log2
    functionSourceFile: math
    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: jupyter_server.services.contents.filemanager.AsyncFileContentsManager
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - traitlets.default
    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: 730
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._checkpoints_class_default
    functionSourceFile: jupyter_server.services.contents.filemanager
    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: anyio.to_thread.run_sync
    functionSourceFile: anyio
    functionUses: 56
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 411
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 24
    functionsReached:
    - anyio.to_thread.run_sync
    - base64.encodebytes.decode
    - <builtin>.len
    - typing.NewType
    - base64.encodebytes
    - os.path.isfile
    - bcontent.decode
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os_path.strip
    - os_path.startswith
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf33b52640>
    - <ast.Constant object at 0x7faf33b52610>
    argNames:
    - self
    - os_path
    - as_version
    - capture_validation_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 364
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 24
    functionsReached:
    - anyio.to_thread.run_sync
    - os.path.split
    - functools.partial
    - os.path.exists
    - os.path.join
    - <builtin>.len
    - typing.NewType
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.path_to_invalid
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os_path.startswith
    - os_path.strip
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 12
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf34248c70>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 909
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 7
    functionsReached:
    - os.path.split
    - <builtin>.len
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - nbformat.from_dict
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.fileio.path_to_invalid
    - <builtin>.open
    - os.path.islink
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - traitlets.Instance.check_cells
    - functools.partial
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - model.update
    - nbformat.validate
    - validation_error.get
    - traitlets.Instance.mark_cells
    - fileobj.close
    - path.rsplit
    - model.get
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - os_path.strip
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.utils.to_os_path
    - base64.encodebytes
    - mimetypes.guess_type
    - stat.S_ISREG
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - traitlets.Instance.create_checkpoint
    - bcontent.decode
    - <builtin>.any
    - os_path.startswith
    - os.readlink
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - traitlets.Instance.list_checkpoints
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - anyio.to_thread.run_sync
    - path.strip
    - json.dumps
    - traitlets.Instance.sign
    - os.lstat
    - stat.S_ISDIR
    - base64.encodebytes.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - nbformat.v4.new_notebook.encode
    - os.path.normpath
    - os.path.dirname
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.abspath
    - path.endswith
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - traitlets.config.Configurable.log.debug
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - kwargs.setdefault
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - base64.decodebytes
    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 0x7faf33b5a2e0>
    argNames:
    - self
    - os_path
    - nb
    - capture_validation_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 398
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 9
    functionsReached:
    - anyio.to_thread.run_sync
    - functools.partial
    - os.readlink
    - jupyter_server.services.contents.fileio._simple_writing
    - <builtin>.len
    - typing.NewType
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - os.path.dirname
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - kwargs.setdefault
    - fileobj.close
    - os.path.islink
    - os_path.strip
    - os_path.startswith
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1067
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 8
    functionsReached:
    - traitlets.Instance.create_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - content
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 440
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 9
    functionsReached:
    - anyio.to_thread.run_sync
    - os.readlink
    - nbformat.v4.new_notebook.encode
    - jupyter_server.services.contents.fileio._simple_writing
    - <builtin>.len
    - typing.NewType
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - os.path.dirname
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - kwargs.setdefault
    - fileobj.close
    - <builtin>.open
    - os.path.islink
    - os_path.strip
    - os_path.startswith
    - base64.decodebytes
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 8
    IfCount: 8
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 958
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - <builtin>.str
    - os.access
    - os_path.strip
    - <builtin>.set
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - os.path.normpath
    - send2trash.send2trash
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.getattr
    - path.strip
    - os.path.expanduser
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file._check_trash
    - os.path.join
    - traitlets.config.Configurable.log.warning
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - os_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 970
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file._check_trash
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 3
    functionsReached:
    - anyio.to_thread.run_sync
    - os.path.expanduser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - os_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 981
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 3
    functionsReached:
    - anyio.to_thread.run_sync
    - <builtin>.set
    - os.path.isdir
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1028
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - <builtin>.str
    - path.lower
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - os.path.abspath
    - new_path.strip
    - os.path.samefile
    - typing.NewType
    - jupyter_server.utils.samefile_simple
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - old_path.strip
    - os.stat
    - path.strip
    - os_path.startswith
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - other_path.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1062
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 9
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - typing.NewType
    - os.path.join
    - os.path.isfile
    - os.path.normpath
    - <builtin>.str
    - os.path.splitdrive
    - path.strip
    - jupyter_server.utils.to_os_path
    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 0x7faf362fa070>
    argNames:
    - self
    - path
    - model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1074
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get_kernel_path
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - typing.NewType
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.path.normpath
    - <builtin>.str
    - os.path.splitdrive
    - path.strip
    - path.rsplit
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf362fa730>
    argNames:
    - self
    - from_path
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1081
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.copy
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.path.split
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - <builtin>.len
    - warnings.warn
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - nbformat.from_dict
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.fileio.path_to_invalid
    - subprocess.run
    - <builtin>.open
    - os.path.islink
    - to_path.rsplit
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hook
    - traitlets.Instance.check_cells
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._copy_dir
    - functools.partial
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - model.update
    - nbformat.validate
    - validation_error.get
    - traitlets.Instance.mark_cells
    - fileobj.close
    - path.rsplit
    - itertools.count
    - model.get
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - os_path.strip
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - to_path_original.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename
    - copy_pat.sub
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.utils.to_os_path
    - traitlets.Unicode.partition
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.check_folder_size
    - jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - base64.encodebytes
    - platform.system
    - mimetypes.guess_type
    - stat.S_ISREG
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.any
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.copy
    - traitlets.Instance.create_checkpoint
    - base64.b64decode
    - os_path.startswith
    - os.readlink
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.AsyncContentsManager.exists
    - traitlets.Any
    - traitlets.Instance.list_checkpoints
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - to_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - jupyter_server.services.contents.manager.AsyncContentsManager.copy
    - traitlets.config.Configurable.strip
    - anyio.to_thread.run_sync
    - <builtin>.super
    - base64.decodebytes
    - path.strip
    - json.dumps
    - jupyter_server.services.contents.manager.AsyncContentsManager.get
    - traitlets.Instance.sign
    - os.lstat
    - stat.S_ISDIR
    - base64.encodebytes.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - traitlets.Unicode.rpartition
    - jupyter_server.services.contents.manager.AsyncContentsManager.save
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - <builtin>.int
    - nbformat.v4.new_notebook.encode
    - os.path.normpath
    - os.path.dirname
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    - model.pop
    - jupyter_server.services.contents.manager.AsyncContentsManager.file_exists
    - path.endswith
    - os.path.abspath
    - jupyter_server.services.contents.fileio._simple_writing
    - shutil.copytree
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - traitlets.config.Configurable.log.debug
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - kwargs.setdefault
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.Configurable.strip
    functionSourceFile: traitlets
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 4
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf35e50f70>
    argNames:
    - self
    - from_path
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1006
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.copy
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - os.path.split
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - <builtin>.len
    - warnings.warn
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - nbformat.from_dict
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.islink
    - to_path.rsplit
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hook
    - traitlets.Instance.check_cells
    - functools.partial
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - model.update
    - nbformat.validate
    - validation_error.get
    - traitlets.Instance.mark_cells
    - fileobj.close
    - path.rsplit
    - itertools.count
    - model.get
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - os_path.strip
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename
    - copy_pat.sub
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.utils.to_os_path
    - traitlets.Unicode.partition
    - jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - base64.encodebytes
    - mimetypes.guess_type
    - stat.S_ISREG
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - traitlets.Instance.create_checkpoint
    - <builtin>.any
    - base64.b64decode
    - os_path.startswith
    - os.readlink
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.AsyncContentsManager.exists
    - traitlets.Any
    - traitlets.Instance.list_checkpoints
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - to_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - traitlets.config.Configurable.strip
    - anyio.to_thread.run_sync
    - <builtin>.super
    - base64.decodebytes
    - path.strip
    - json.dumps
    - jupyter_server.services.contents.manager.AsyncContentsManager.get
    - traitlets.Instance.sign
    - os.lstat
    - stat.S_ISDIR
    - base64.encodebytes.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - traitlets.Unicode.rpartition
    - jupyter_server.services.contents.manager.AsyncContentsManager.save
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - nbformat.v4.new_notebook.encode
    - os.path.normpath
    - os.path.dirname
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - model.pop
    - jupyter_server.services.contents.manager.AsyncContentsManager.file_exists
    - path.endswith
    - os.path.abspath
    - jupyter_server.services.contents.fileio._simple_writing
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - traitlets.config.Configurable.log.debug
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - kwargs.setdefault
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - <builtin>.open
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1188
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._human_readable_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - math.log2
    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: jupyter_server.services.contents.filecheckpoints
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    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: jupyter_server.services.contents.filecheckpoints.FileCheckpoints
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    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: 45
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints._root_dir_default
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os.getcwd
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 52
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._copy
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.path.abspath
    - typing.NewType
    - os.stat
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    - jupyter_server.services.contents.fileio.copy2_safe
    - os_path.startswith
    - contents_mgr._get_os_path
    - traitlets.config.Configurable.log.debug
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - shutil.copystat
    - shutil.copyfile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contents_mgr._get_os_path
    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
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 105
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 18
    functionsReached:
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.path.join
    - typing.NewType
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - path.strip
    - os_path.strip
    - os_path.startswith
    - jupyter_server.utils.to_os_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - src
    - dest
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 231
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._copy
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 2
    functionsReached:
    - shutil.copystat
    - jupyter_server.services.contents.fileio.copy2_safe
    - shutil.copyfile
    - traitlets.config.Configurable.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - os_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 123
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 4
    functionsReached:
    - os.stat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 60
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._copy
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - jupyter_server.services.contents.fileio.copy2_safe
    - os_path.startswith
    - contents_mgr._get_os_path
    - traitlets.config.Configurable.log.debug
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - shutil.copystat
    - shutil.copyfile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 67
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.rename_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - os_path.strip
    - shutil.move
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - os.path.isfile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 80
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - os_path.strip
    - os.unlink
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - os.path.isfile
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - checkpoint_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 134
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 91
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.stat
    - path.strip
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - 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: parent.strip
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.utils.ensure_dir_exists
    functionSourceFile: jupyter_core
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 139
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._copy
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - jupyter_server.services.contents.fileio.async_copy2_safe
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - os_path.startswith
    - contents_mgr._get_os_path
    - traitlets.config.Configurable.log.debug
    - jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - src
    - dest
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 357
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._copy
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 2
    functionsReached:
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.fileio.async_copy2_safe
    - traitlets.config.Configurable.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - os_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 153
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 4
    functionsReached:
    - anyio.to_thread.run_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 147
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._copy
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - jupyter_server.services.contents.fileio.async_copy2_safe
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - contents_mgr._get_os_path
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 164
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.rename_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - os.path.isfile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 177
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - os.path.isfile
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 188
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - os.path.isfile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - content
    - format
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 208
    functionName: jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.create_file_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - f.write
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._save_file
    - os.path.normpath
    - os.path.dirname
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - <builtin>.open
    - os.path.islink
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.stat
    - base64.decodebytes
    - path.strip
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - os.readlink
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - kwargs.setdefault
    - fileobj.close
    - content.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 221
    functionName: jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.create_notebook_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - jupyter_server.services.contents.fileio.FileManagerMixin._save_notebook
    - os.path.splitdrive
    - os.path.dirname
    - jupyter_server.utils.to_api_path
    - os.path.islink
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.stat
    - path.strip
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - os.readlink
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - nbformat.write
    - kwargs.setdefault
    - fileobj.close
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 234
    functionName: jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.get_notebook_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os.path.split
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - jupyter_server.services.contents.fileio.replace_file
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os_path.strip
    - nbformat.read
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.utils.to_os_path
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - traitlets.config.Configurable.log.info
    - os.path.splitext
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - os.replace
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 251
    functionName: jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.get_file_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - f.read
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.utils.to_os_path
    - os.path.abspath
    - typing.NewType
    - base64.encodebytes
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - traitlets.config.Configurable.log.info
    - base64.encodebytes.decode
    - os.path.splitext
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - os.path.isfile
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - content
    - format
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 274
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.create_file_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - nbformat.v4.new_notebook.encode
    - os.path.normpath
    - os.path.dirname
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - os.path.islink
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - base64.decodebytes
    - path.strip
    - jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - os.readlink
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - kwargs.setdefault
    - fileobj.close
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 287
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.create_notebook_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - os_path.strip
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.dirname
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - os.path.islink
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - functools.partial
    - os.readlink
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - kwargs.setdefault
    - fileobj.close
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 300
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.get_notebook_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os.path.split
    - <builtin>.len
    - jupyter_server.services.contents.fileio.async_replace_file
    - parent.strip
    - <builtin>.str
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - os_path.startswith
    - functools.partial
    - jupyter_core.utils.ensure_dir_exists
    - traitlets.config.Configurable.log.info
    - os.path.splitext
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 317
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.get_file_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - parent.strip
    - <builtin>.str
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - os.path.abspath
    - typing.NewType
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - bcontent.decode
    - path.strip
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - traitlets.config.Configurable.log.info
    - os.path.splitext
    - base64.encodebytes.decode
    - os.path.join
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - os.path.isfile
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    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: jupyter_server.services.contents.fileio
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 0
    functionsReached:
    - contextlib.contextmanager
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - src
    - dst
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 22
    functionName: jupyter_server.services.contents.fileio.replace_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 10
    functionsReached:
    - os.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: os.replace
    functionSourceFile: os
    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:
    - src
    - dst
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: jupyter_server.services.contents.fileio.async_replace_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 25
    functionsReached:
    - anyio.to_thread.run_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf33b772b0>
    argNames:
    - src
    - dst
    - log
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 32
    functionName: jupyter_server.services.contents.fileio.copy2_safe
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 4
    functionsReached:
    - shutil.copystat
    - shutil.copyfile
    - traitlets.config.Configurable.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shutil.copyfile
    functionSourceFile: shutil
    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: shutil.copystat
    functionSourceFile: shutil
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf33b5eb80>
    argNames:
    - src
    - dst
    - log
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 45
    functionName: jupyter_server.services.contents.fileio.async_copy2_safe
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 3
    functionsReached:
    - anyio.to_thread.run_sync
    - traitlets.config.Configurable.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 58
    functionName: jupyter_server.services.contents.fileio.path_to_intermediate
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 29
    functionsReached:
    - os.path.split
    - 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: os.path.split
    functionSourceFile: os
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 66
    functionName: jupyter_server.services.contents.fileio.path_to_invalid
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 28
    functionsReached:
    - os.path.split
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 10
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7faf33b6e310>
    - <ast.Constant object at 0x7faf33b6e2e0>
    - <ast.Constant object at 0x7faf33b6e2b0>
    argNames:
    - path
    - text
    - encoding
    - log
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 73
    functionName: jupyter_server.services.contents.fileio.atomic_writing
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 0
    functionsReached:
    - os.path.split
    - fileobj.fileno
    - jupyter_server.services.contents.fileio.replace_file
    - os.path.dirname
    - os.path.islink
    - jupyter_server.services.contents.fileio.copy2_safe
    - fileobj.flush
    - traitlets.config.Configurable.log.debug
    - os.readlink
    - os.fsync
    - os.path.join
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os.remove
    - shutil.copystat
    - os.replace
    - kwargs.setdefault
    - fileobj.close
    - shutil.copyfile
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.readlink
    functionSourceFile: os
    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: fileobj.close
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.flush
    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: fileobj.fileno
    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.fsync
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7faf3329d610>
    - <ast.Constant object at 0x7faf3329d880>
    - <ast.Constant object at 0x7faf3329dbe0>
    argNames:
    - path
    - text
    - encoding
    - log
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 130
    functionName: jupyter_server.services.contents.fileio._simple_writing
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 18
    functionsReached:
    - os.readlink
    - os.path.join
    - os.path.dirname
    - kwargs.setdefault
    - fileobj.close
    - os.path.islink
    - <builtin>.open
    linkageType: 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: jupyter_server.services.contents.fileio.FileManagerMixin
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 0
    functionsReached:
    - traitlets.Bool
    - contextlib.contextmanager
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 195
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin.open
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 34
    functionsReached:
    - typing.NewType
    - <builtin>.len
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os_path.startswith
    - os_path.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 201
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 17
    functionsReached:
    - os.readlink
    - jupyter_server.services.contents.fileio._simple_writing
    - <builtin>.len
    - typing.NewType
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - os.path.dirname
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - kwargs.setdefault
    - fileobj.close
    - os.path.islink
    - os_path.strip
    - os_path.startswith
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nbformat.read
    functionSourceFile: nbformat
    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: nbformat.write
    functionSourceFile: nbformat
    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: bcontent.decode
    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: base64.encodebytes.decode
    functionSourceFile: base64
    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: base64.decodebytes
    functionSourceFile: base64
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nbformat.v4.new_notebook.encode
    functionSourceFile: nbformat
    functionUses: 12
    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: jupyter_server.services.contents.checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 23
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 27
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - checkpoint_id
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 31
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.rename_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 35
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 39
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.rename_all_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.checkpoints.Checkpoints.rename_checkpoint
    - jupyter_server.services.contents.checkpoints.Checkpoints.list_checkpoints
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.delete_all_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.checkpoints.Checkpoints.delete_checkpoint
    - jupyter_server.services.contents.checkpoints.Checkpoints.list_checkpoints
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 76
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_file_checkpoint
    - contents_mgr.get
    - jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_notebook_checkpoint
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contents_mgr.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 112
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_notebook_checkpoint
    functionSourceFile: ''
    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
    - content
    - format
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 105
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_file_checkpoint
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 93
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - contents_mgr.save
    - jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_notebook_checkpoint
    - contents_mgr.get
    - jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_file_checkpoint
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 132
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_notebook_checkpoint
    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
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 119
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_file_checkpoint
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contents_mgr.save
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 150
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 154
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - checkpoint_id
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 158
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.rename_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 162
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 166
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 170
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.rename_all_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.checkpoints.AsyncCheckpoints.rename_checkpoint
    - jupyter_server.services.contents.checkpoints.AsyncCheckpoints.list_checkpoints
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 175
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.delete_all_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.checkpoints.AsyncCheckpoints.list_checkpoints
    - jupyter_server.services.contents.checkpoints.AsyncCheckpoints.delete_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 187
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_file_checkpoint
    - contents_mgr.get
    - jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_notebook_checkpoint
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 224
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_notebook_checkpoint
    functionSourceFile: ''
    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
    - content
    - format
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 217
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_file_checkpoint
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 204
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - contents_mgr.save
    - jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_file_checkpoint
    - contents_mgr.get
    - jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_notebook_checkpoint
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 244
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_notebook_checkpoint
    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
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 231
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_file_checkpoint
    functionSourceFile: ''
    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: jupyter_server.services.contents.manager
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: 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: jupyter_server.services.contents.manager.ContentsManager
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.tag
    - traitlets.Any
    - traitlets.default
    - traitlets.Type
    - traitlets.List
    - traitlets.Dict
    - traitlets.Unicode
    - traitlets.Bool
    - traitlets.Instance
    - traitlets.validate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.tag
    functionSourceFile: traitlets
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: jupyter_server.services.contents.manager.ContentsManager._default_event_logger
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - jupyter_events.EventLogger.register_event_schema
    - <builtin>.hasattr
    - jupyter_events.EventLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_events.EventLogger
    functionSourceFile: jupyter_events
    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: jupyter_events.EventLogger.register_event_schema
    functionSourceFile: jupyter_events
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 90
    functionName: jupyter_server.services.contents.manager.ContentsManager._validate_preferred_dir
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.path.join
    - typing.NewType
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.path.normpath
    - <builtin>.str
    - inspect.iscoroutinefunction
    - os.path.splitdrive
    - jupyter_core.utils.run_sync
    - jupyter_server.services.contents.manager.ContentsManager.dir_exists
    - value.split
    - path.strip
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/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: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 375
    functionName: jupyter_server.services.contents.manager.ContentsManager.dir_exists
    functionSourceFile: ''
    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: value.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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 115
    functionName: jupyter_server.services.contents.manager.ContentsManager._notary_default
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - nbformat.sign.NotebookNotary
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nbformat.sign.NotebookNotary
    functionSourceFile: nbformat
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 175
    functionName: jupyter_server.services.contents.manager.ContentsManager._validate_pre_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - warnings.warn
    - jupyter_server.utils.import_item
    - <builtin>.__import__
    - <builtin>.getattr
    - traitlets.Any.rsplit
    - <builtin>.isinstance
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 211
    functionName: jupyter_server.services.contents.manager.ContentsManager._validate_post_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - warnings.warn
    - jupyter_server.utils.import_item
    - <builtin>.__import__
    - <builtin>.getattr
    - traitlets.Any.rsplit
    - <builtin>.isinstance
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 225
    functionName: jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 9
    functionsReached:
    - warnings.warn
    - traitlets.Any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - os_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 245
    functionName: jupyter_server.services.contents.manager.ContentsManager.run_post_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - warnings.warn
    - traitlets.Any
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - hook
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 264
    functionName: jupyter_server.services.contents.manager.ContentsManager.register_pre_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - jupyter_server.utils.import_item
    - traitlets.List.append
    - <builtin>.__import__
    - <builtin>.getattr
    - traitlets.Any.rsplit
    - <builtin>.isinstance
    - <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: traitlets.List.append
    functionSourceFile: traitlets
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - hook
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 273
    functionName: jupyter_server.services.contents.manager.ContentsManager.register_post_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - jupyter_server.utils.import_item
    - traitlets.List.append
    - <builtin>.__import__
    - <builtin>.getattr
    - traitlets.Any.rsplit
    - <builtin>.isinstance
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 326
    functionName: jupyter_server.services.contents.manager.ContentsManager._default_checkpoints
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.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: 330
    functionName: jupyter_server.services.contents.manager.ContentsManager._default_checkpoints_kwargs
    functionSourceFile: jupyter_server.services.contents.manager
    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: 1
    functionLinenumber: 362
    functionName: jupyter_server.services.contents.manager.ContentsManager.get_extra_handlers
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - handlers.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 394
    functionName: jupyter_server.services.contents.manager.ContentsManager.is_hidden
    functionSourceFile: jupyter_server.services.contents.manager
    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 0x7faf35e43ee0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 411
    functionName: jupyter_server.services.contents.manager.ContentsManager.file_exists
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 430
    functionName: jupyter_server.services.contents.manager.ContentsManager.exists
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 3
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.path.join
    - os.path.isfile
    - os.path.normpath
    - <builtin>.str
    - os.path.splitdrive
    - jupyter_server.services.contents.manager.ContentsManager.file_exists
    - jupyter_server.services.contents.manager.ContentsManager.dir_exists
    - path.strip
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    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 0x7faf35224af0>
    - <ast.Constant object at 0x7faf35224ac0>
    - <ast.Constant object at 0x7faf35224a90>
    argNames:
    - self
    - path
    - content
    - type
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 447
    functionName: jupyter_server.services.contents.manager.ContentsManager.get
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 451
    functionName: jupyter_server.services.contents.manager.ContentsManager.save
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 461
    functionName: jupyter_server.services.contents.manager.ContentsManager.delete_file
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 465
    functionName: jupyter_server.services.contents.manager.ContentsManager.rename_file
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 472
    functionName: jupyter_server.services.contents.manager.ContentsManager.delete
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - <builtin>.str
    - os.access
    - os_path.strip
    - <builtin>.set
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - os.path.normpath
    - send2trash.send2trash
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.getattr
    - path.strip
    - os.path.expanduser
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file._check_trash
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.delete_file
    - traitlets.config.Configurable.log.warning
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file
    - traitlets.Instance.delete_all_checkpoints
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.delete_all_checkpoints
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 481
    functionName: jupyter_server.services.contents.manager.ContentsManager.rename
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - traitlets.Instance.rename_all_checkpoints
    - <builtin>.len
    - <builtin>.str
    - path.lower
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - new_path.strip
    - os.path.abspath
    - os.path.samefile
    - typing.NewType
    - jupyter_server.utils.samefile_simple
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - old_path.strip
    - os.stat
    - path.strip
    - os_path.startswith
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.rename_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - other_path.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: traitlets.Instance.rename_all_checkpoints
    functionSourceFile: traitlets
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 487
    functionName: jupyter_server.services.contents.manager.ContentsManager.update
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - os.path.split
    - <builtin>.len
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.path_to_invalid
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - new_path.strip
    - typing.NewType
    - functools.partial
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - model.update
    - nbformat.validate
    - validation_error.get
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.manager.ContentsManager.rename_file
    - path.rsplit
    - other_path.lower
    - model.get
    - traitlets.Instance.rename_all_checkpoints
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - stat.S_ISLNK
    - path.lower
    - fnmatch.fnmatch
    - os_path.strip
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.utils.to_os_path
    - os.path.samefile
    - base64.encodebytes
    - mimetypes.guess_type
    - stat.S_ISREG
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.stat
    - <builtin>.any
    - bcontent.decode
    - os_path.startswith
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.manager.ContentsManager.rename
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    - anyio.to_thread.run_sync
    - jupyter_server.utils.samefile_simple
    - path.strip
    - json.dumps
    - jupyter_server.services.contents.manager.ContentsManager.get
    - os.lstat
    - stat.S_ISDIR
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - os.path.abspath
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - old_path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - traitlets.config.Configurable.log.debug
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - path.endswith
    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: 500
    functionName: jupyter_server.services.contents.manager.ContentsManager.info_string
    functionSourceFile: jupyter_server.services.contents.manager
    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 0x7faf3521b8b0>
    argNames:
    - self
    - path
    - model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 504
    functionName: jupyter_server.services.contents.manager.ContentsManager.get_kernel_path
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf3521b640>
    - <ast.Constant object at 0x7faf3521b610>
    argNames:
    - self
    - filename
    - path
    - insert
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 516
    functionName: jupyter_server.services.contents.manager.ContentsManager.increment_filename
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 2
    functionsReached:
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.path.normpath
    - os.path.splitdrive
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    - traitlets.Unicode.partition
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - path.strip
    - os.path.join
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.exists
    - jupyter_server.services.contents.manager.ContentsManager.file_exists
    - jupyter_server.services.contents.manager.ContentsManager.dir_exists
    - itertools.count
    - traitlets.Unicode.rpartition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Unicode.rpartition
    functionSourceFile: traitlets
    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: traitlets.Unicode.partition
    functionSourceFile: traitlets
    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.count
    functionSourceFile: itertools
    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: validation_error.get
    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: nbformat.validate
    functionSourceFile: nbformat
    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: jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model.<lambda1>
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf352149d0>
    - <ast.Constant object at 0x7faf352149a0>
    - <ast.Constant object at 0x7faf35214970>
    argNames:
    - self
    - path
    - type
    - ext
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 571
    functionName: jupyter_server.services.contents.manager.ContentsManager.new_untitled
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - os.path.split
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - <builtin>.len
    - warnings.warn
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - nbformat.from_dict
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.fileio.path_to_invalid
    - <builtin>.open
    - os.path.islink
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hook
    - traitlets.Instance.check_cells
    - functools.partial
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - model.update
    - nbformat.validate
    - validation_error.get
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.manager.ContentsManager.file_exists
    - fileobj.close
    - path.rsplit
    - itertools.count
    - model.setdefault
    - model.get
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - os_path.strip
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.utils.to_os_path
    - traitlets.Unicode.partition
    - jupyter_server.services.contents.manager.ContentsManager.new
    - base64.encodebytes
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - mimetypes.guess_type
    - stat.S_ISREG
    - <builtin>.any
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - traitlets.Instance.create_checkpoint
    - nbformat.v4.new_notebook
    - base64.b64decode
    - os_path.startswith
    - os.readlink
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.manager.ContentsManager.exists
    - jupyter_server.services.contents.manager.ContentsManager.dir_exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - traitlets.Any
    - traitlets.Instance.list_checkpoints
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.manager.ContentsManager.save
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - anyio.to_thread.run_sync
    - <builtin>.super
    - base64.decodebytes
    - path.strip
    - json.dumps
    - traitlets.Instance.sign
    - os.lstat
    - stat.S_ISDIR
    - base64.encodebytes.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - traitlets.Unicode.rpartition
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - nbformat.v4.new_notebook.encode
    - os.path.normpath
    - os.path.dirname
    - os.path.splitdrive
    - jupyter_server.services.contents.manager.ContentsManager.increment_filename
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - path.endswith
    - os.path.abspath
    - jupyter_server.services.contents.fileio._simple_writing
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - traitlets.config.Configurable.log.debug
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - kwargs.setdefault
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: model.setdefault
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf352110a0>
    - <ast.Constant object at 0x7faf35211070>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 609
    functionName: jupyter_server.services.contents.manager.ContentsManager.new
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - os.path.split
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.len
    - warnings.warn
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - nbformat.from_dict
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.fileio.path_to_invalid
    - <builtin>.open
    - os.path.islink
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hook
    - traitlets.Instance.check_cells
    - functools.partial
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - model.update
    - nbformat.validate
    - validation_error.get
    - traitlets.Instance.mark_cells
    - fileobj.close
    - path.rsplit
    - model.setdefault
    - model.get
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - os_path.strip
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.utils.to_os_path
    - base64.encodebytes
    - mimetypes.guess_type
    - stat.S_ISREG
    - <builtin>.any
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - traitlets.Instance.create_checkpoint
    - nbformat.v4.new_notebook
    - base64.b64decode
    - os_path.startswith
    - os.readlink
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - traitlets.Any
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.manager.ContentsManager.save
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - anyio.to_thread.run_sync
    - <builtin>.super
    - base64.decodebytes
    - path.strip
    - json.dumps
    - traitlets.Instance.sign
    - os.lstat
    - stat.S_ISDIR
    - base64.encodebytes.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - nbformat.v4.new_notebook.encode
    - os.path.normpath
    - os.path.dirname
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - path.endswith
    - os.path.abspath
    - jupyter_server.services.contents.fileio._simple_writing
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - traitlets.config.Configurable.log.debug
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - kwargs.setdefault
    - traitlets.Instance.list_checkpoints
    - <builtin>.isinstance
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nbformat.v4.new_notebook
    functionSourceFile: nbformat
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 9
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf35b4b7f0>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 88
    functionName: jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    functionSourceFile: jupyter_server.services.contents.largefilemanager
    functionUses: 7
    functionsReached:
    - os.path.split
    - <builtin>.len
    - warnings.warn
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.path_to_invalid
    - <builtin>.open
    - os.path.islink
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hook
    - functools.partial
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - model.update
    - nbformat.validate
    - validation_error.get
    - traitlets.Instance.mark_cells
    - path.rsplit
    - model.get
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - os_path.strip
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.utils.to_os_path
    - base64.encodebytes
    - mimetypes.guess_type
    - stat.S_ISREG
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.any
    - bcontent.decode
    - base64.b64decode
    - os_path.startswith
    - os.readlink
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - traitlets.Any
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - anyio.to_thread.run_sync
    - <builtin>.super
    - path.strip
    - json.dumps
    - os.lstat
    - stat.S_ISDIR
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - nbformat.v4.new_notebook.encode
    - os.path.normpath
    - os.path.dirname
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - os.path.abspath
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - traitlets.config.Configurable.log.debug
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - path.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 4
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf35205e80>
    argNames:
    - self
    - from_path
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 636
    functionName: jupyter_server.services.contents.manager.ContentsManager.copy
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - os.path.split
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - <builtin>.len
    - warnings.warn
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - nbformat.from_dict
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.fileio.path_to_invalid
    - <builtin>.open
    - os.path.islink
    - to_path.rsplit
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hook
    - traitlets.Instance.check_cells
    - functools.partial
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - model.update
    - nbformat.validate
    - validation_error.get
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.manager.ContentsManager.file_exists
    - fileobj.close
    - path.rsplit
    - itertools.count
    - model.get
    - from_path.strip
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - os_path.strip
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - copy_pat.sub
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.utils.to_os_path
    - traitlets.Unicode.partition
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - base64.encodebytes
    - mimetypes.guess_type
    - stat.S_ISREG
    - <builtin>.any
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - traitlets.Instance.create_checkpoint
    - base64.b64decode
    - os_path.startswith
    - os.readlink
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.manager.ContentsManager.exists
    - jupyter_server.services.contents.manager.ContentsManager.dir_exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - traitlets.Any
    - traitlets.Instance.list_checkpoints
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - to_path.strip
    - jupyter_server.services.contents.manager.ContentsManager.save
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - anyio.to_thread.run_sync
    - <builtin>.super
    - base64.decodebytes
    - path.strip
    - json.dumps
    - jupyter_server.services.contents.manager.ContentsManager.get
    - traitlets.Instance.sign
    - os.lstat
    - stat.S_ISDIR
    - base64.encodebytes.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - traitlets.Unicode.rpartition
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - nbformat.v4.new_notebook.encode
    - os.path.normpath
    - os.path.dirname
    - os.path.splitdrive
    - jupyter_server.services.contents.manager.ContentsManager.increment_filename
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - model.pop
    - path.endswith
    - os.path.abspath
    - jupyter_server.services.contents.fileio._simple_writing
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - traitlets.config.Configurable.log.debug
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - kwargs.setdefault
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: model.pop
    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: to_path.rsplit
    functionSourceFile: <builtin>
    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: 1
    functionLinenumber: 682
    functionName: jupyter_server.services.contents.manager.ContentsManager.log_info
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.manager.ContentsManager.info_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 686
    functionName: jupyter_server.services.contents.manager.ContentsManager.trust_notebook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - os.path.split
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.str
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.path_to_invalid
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os.path.abspath
    - typing.NewType
    - base64.encodebytes
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - mimetypes.guess_type
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - stat.S_ISREG
    - <builtin>.any
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - traitlets.Instance.check_cells
    - json.dumps
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - jupyter_server.services.contents.manager.ContentsManager.get
    - traitlets.Instance.sign
    - os.lstat
    - functools.partial
    - stat.S_ISDIR
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - traitlets.config.Configurable.log.info
    - base64.encodebytes.decode
    - os.path.join
    - nbformat.validate
    - model.update
    - validation_error.get
    - traitlets.Instance.mark_cells
    - traitlets.config.Configurable.log.warning
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - path.rsplit
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - path.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: traitlets.Instance.mark_cells
    functionSourceFile: traitlets
    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: traitlets.Instance.check_cells
    functionSourceFile: traitlets
    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: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.sign
    functionSourceFile: traitlets
    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: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.check_signature
    functionSourceFile: traitlets
    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: fnmatch.fnmatch
    functionSourceFile: fnmatch
    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: traitlets.Instance.create_checkpoint
    functionSourceFile: traitlets
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 743
    functionName: jupyter_server.services.contents.manager.ContentsManager.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.restore_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.restore_checkpoint
    functionSourceFile: traitlets
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 749
    functionName: jupyter_server.services.contents.manager.ContentsManager.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.list_checkpoints
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 752
    functionName: jupyter_server.services.contents.manager.ContentsManager.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.delete_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.delete_checkpoint
    functionSourceFile: traitlets
    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: jupyter_server.services.contents.manager.AsyncContentsManager
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Dict
    - traitlets.Instance
    - traitlets.default
    - traitlets.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: 764
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager._default_checkpoints
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.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: 768
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager._default_checkpoints_kwargs
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 777
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 796
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.is_hidden
    functionSourceFile: jupyter_server.services.contents.manager
    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 0x7faf35e6ca00>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 813
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.file_exists
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 832
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.exists
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 4
    functionsReached:
    - jupyter_server.services.contents.manager.AsyncContentsManager.file_exists
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - typing.NewType
    - os.path.isfile
    - jupyter_core.utils.ensure_async
    - os.path.join
    - <builtin>.str
    - os.path.splitdrive
    - os.path.normpath
    - path.strip
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    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 0x7faf35e6c280>
    - <ast.Constant object at 0x7faf35e6c250>
    - <ast.Constant object at 0x7faf35e6c220>
    argNames:
    - self
    - path
    - content
    - type
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 851
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.get
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 855
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.save
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 865
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.delete_file
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 869
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.rename_file
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 876
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.delete
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.manager.AsyncContentsManager.delete_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - <builtin>.str
    - os.access
    - os_path.strip
    - <builtin>.set
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - os.path.normpath
    - send2trash.send2trash
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.getattr
    - path.strip
    - os.path.expanduser
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file._check_trash
    - os.path.join
    - traitlets.config.Configurable.log.warning
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file
    - traitlets.Instance.delete_all_checkpoints
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 886
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.rename
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - traitlets.Instance.rename_all_checkpoints
    - <builtin>.len
    - <builtin>.str
    - path.lower
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - new_path.strip
    - os.path.abspath
    - os.path.samefile
    - typing.NewType
    - jupyter_server.utils.samefile_simple
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - old_path.strip
    - os.stat
    - path.strip
    - os_path.startswith
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - os.path.join
    - other_path.lower
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.AsyncContentsManager.rename_file
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 892
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.update
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - os.path.split
    - <builtin>.len
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.path_to_invalid
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - new_path.strip
    - typing.NewType
    - functools.partial
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - model.update
    - nbformat.validate
    - validation_error.get
    - traitlets.Instance.mark_cells
    - path.rsplit
    - other_path.lower
    - model.get
    - traitlets.Instance.rename_all_checkpoints
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - path.lower
    - os_path.strip
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.utils.to_os_path
    - os.path.samefile
    - base64.encodebytes
    - mimetypes.guess_type
    - stat.S_ISREG
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.any
    - bcontent.decode
    - os.stat
    - os_path.startswith
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    - anyio.to_thread.run_sync
    - jupyter_server.utils.samefile_simple
    - path.strip
    - json.dumps
    - jupyter_server.services.contents.manager.AsyncContentsManager.get
    - os.lstat
    - stat.S_ISDIR
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - os.path.abspath
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - old_path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.AsyncContentsManager.rename
    - traitlets.config.Configurable.log.debug
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - jupyter_server.services.contents.manager.AsyncContentsManager.rename_file
    - path.endswith
    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 0x7faf35e60f40>
    - <ast.Constant object at 0x7faf35e60f10>
    argNames:
    - self
    - filename
    - path
    - insert
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 905
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 3
    functionsReached:
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.path.normpath
    - os.path.splitdrive
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    - traitlets.Unicode.partition
    - jupyter_server.services.contents.manager.AsyncContentsManager.file_exists
    - os.path.abspath
    - jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - typing.NewType
    - jupyter_core.utils.ensure_async
    - path.strip
    - os.path.join
    - os.path.isfile
    - itertools.count
    - jupyter_server.services.contents.manager.AsyncContentsManager.exists
    - traitlets.Unicode.rpartition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf35e5dd30>
    - <ast.Constant object at 0x7faf35e5dd00>
    - <ast.Constant object at 0x7faf35e5dcd0>
    argNames:
    - self
    - path
    - type
    - ext
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 940
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.new_untitled
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - os.path.split
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - <builtin>.len
    - warnings.warn
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - nbformat.from_dict
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.fileio.path_to_invalid
    - <builtin>.open
    - os.path.islink
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hook
    - traitlets.Instance.check_cells
    - functools.partial
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - model.update
    - nbformat.validate
    - validation_error.get
    - traitlets.Instance.mark_cells
    - fileobj.close
    - path.rsplit
    - itertools.count
    - model.setdefault
    - model.get
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - os_path.strip
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.utils.to_os_path
    - traitlets.Unicode.partition
    - jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - base64.encodebytes
    - mimetypes.guess_type
    - stat.S_ISREG
    - <builtin>.any
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - traitlets.Instance.create_checkpoint
    - nbformat.v4.new_notebook
    - base64.b64decode
    - os_path.startswith
    - os.readlink
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.AsyncContentsManager.exists
    - traitlets.Any
    - traitlets.Instance.list_checkpoints
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.manager.AsyncContentsManager.new
    - <builtin>.super
    - base64.decodebytes
    - path.strip
    - json.dumps
    - traitlets.Instance.sign
    - os.lstat
    - stat.S_ISDIR
    - base64.encodebytes.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - traitlets.Unicode.rpartition
    - jupyter_server.services.contents.manager.AsyncContentsManager.save
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - nbformat.v4.new_notebook.encode
    - os.path.normpath
    - os.path.dirname
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - jupyter_server.services.contents.manager.AsyncContentsManager.file_exists
    - path.endswith
    - os.path.abspath
    - jupyter_server.services.contents.fileio._simple_writing
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - traitlets.config.Configurable.log.debug
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - kwargs.setdefault
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf35e5c1f0>
    - <ast.Constant object at 0x7faf35e5c1c0>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 979
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.new
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - os.path.split
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.len
    - warnings.warn
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - nbformat.from_dict
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.fileio.path_to_invalid
    - <builtin>.open
    - os.path.islink
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hook
    - traitlets.Instance.check_cells
    - functools.partial
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - model.update
    - nbformat.validate
    - validation_error.get
    - traitlets.Instance.mark_cells
    - fileobj.close
    - path.rsplit
    - model.setdefault
    - model.get
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - os_path.strip
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.utils.to_os_path
    - base64.encodebytes
    - mimetypes.guess_type
    - stat.S_ISREG
    - <builtin>.any
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - traitlets.Instance.create_checkpoint
    - nbformat.v4.new_notebook
    - base64.b64decode
    - os_path.startswith
    - os.readlink
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - traitlets.Any
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - anyio.to_thread.run_sync
    - <builtin>.super
    - base64.decodebytes
    - path.strip
    - json.dumps
    - traitlets.Instance.sign
    - os.lstat
    - stat.S_ISDIR
    - base64.encodebytes.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.AsyncContentsManager.save
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - nbformat.v4.new_notebook.encode
    - os.path.normpath
    - os.path.dirname
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - path.endswith
    - os.path.abspath
    - jupyter_server.services.contents.fileio._simple_writing
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - traitlets.config.Configurable.log.debug
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - kwargs.setdefault
    - traitlets.Instance.list_checkpoints
    - <builtin>.isinstance
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1052
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.trust_notebook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - os.path.split
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.str
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.path_to_invalid
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os.path.abspath
    - typing.NewType
    - base64.encodebytes
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - mimetypes.guess_type
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - stat.S_ISREG
    - <builtin>.any
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - traitlets.Instance.check_cells
    - json.dumps
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.AsyncContentsManager.get
    - os_path.startswith
    - traitlets.config.Configurable.log.debug
    - traitlets.Instance.sign
    - os.lstat
    - functools.partial
    - stat.S_ISDIR
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - traitlets.config.Configurable.log.info
    - base64.encodebytes.decode
    - os.path.join
    - nbformat.validate
    - model.update
    - validation_error.get
    - traitlets.Instance.mark_cells
    - traitlets.config.Configurable.log.warning
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - path.rsplit
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - path.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1071
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.restore_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1077
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.list_checkpoints
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1081
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.delete_checkpoint
    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: jupyter_server.transutils
    functionSourceFile: jupyter_server.transutils
    functionUses: 0
    functionsReached:
    - gettext.translation
    - os.path.join
    - os.path.realpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 9
    functionName: jupyter_server.transutils._trans_gettext_deprecation_helper
    functionSourceFile: jupyter_server.transutils
    functionUses: 0
    functionsReached:
    - warnings.warn
    - trans.gettext
    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: jupyter_server.files.handlers
    functionSourceFile: jupyter_server.files.handlers
    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: 29
    functionName: jupyter_server.files.handlers.FilesHandler.content_security_policy
    functionSourceFile: jupyter_server.files.handlers
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.files.handlers.FilesHandler
    functionSourceFile: jupyter_server.files.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 37
    functionName: jupyter_server.files.handlers.FilesHandler.head
    functionSourceFile: jupyter_server.files.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.write
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - urllib.parse.quote
    - name.lower
    - tornado.web.RequestHandler.flush
    - <builtin>.bool
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.utils.url_escape
    - jupyter_server.files.handlers.FilesHandler.get
    - jupyter_core.utils.ensure_async
    - mimetypes.guess_type
    - <builtin>.super
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.settings.get
    - path.strip
    - tornado.web.RequestHandler.request.headers.get
    - <builtin>.hasattr
    - re.match
    - path.split
    - path.rsplit
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - base64.decodebytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 14
    IfCount: 11
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf34ed85e0>
    argNames:
    - self
    - path
    - include_body
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 45
    functionName: jupyter_server.files.handlers.FilesHandler.get
    functionSourceFile: jupyter_server.files.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.write
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - urllib.parse.quote
    - name.lower
    - tornado.web.RequestHandler.flush
    - <builtin>.bool
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.utils.url_escape
    - mimetypes.guess_type
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.settings.get
    - path.strip
    - tornado.web.RequestHandler.request.headers.get
    - <builtin>.hasattr
    - re.match
    - path.split
    - path.rsplit
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - base64.decodebytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.lower
    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: tornado.web.RequestHandler.flush
    functionSourceFile: tornado
    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: jupyter_server.files
    functionSourceFile: jupyter_server.files
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.connection.channels
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - abc.ABC.register
    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: 37
    functionName: jupyter_server.services.kernels.connection.channels._ensure_future
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 5
    functionsReached:
    - asyncio.get_running_loop
    - asyncio.wrap_future
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.wrap_future
    functionSourceFile: asyncio
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - traitlets.default
    - traitlets.List
    - traitlets.Dict
    - traitlets.Float
    - traitlets.Unicode
    - traitlets.Bool
    - traitlets.Instance
    - weakref.WeakSet
    - traitlets.Int
    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: 102
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    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: weakref.WeakSet
    functionSourceFile: weakref
    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: 121
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._default_kernel_info_future
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - concurrent.futures.Future
    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: 128
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._default_close_future
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - concurrent.futures.Future
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 144
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.close_all
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - asyncio.get_running_loop
    - asyncio.wrap_future
    - <builtin>.list
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - connection.disconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connection.disconnect
    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: 0
    functionLinenumber: 151
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.subprotocol
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    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: 159
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.create_stream
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 8
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 167
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - f.set_result
    - asyncio.get_running_loop
    - loop.time
    - asyncio.wrap_future
    - tornado.gen.multi
    - traitlets.config.LoggingConfigurable.log.debug
    - future.add_done_callback
    - tornado.gen.with_timeout
    - control_channel.on_recv
    - <builtin>.getattr
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - concurrent.futures.Future
    - loop.call_later
    - both_done.add_done_callback
    - iopub_channel.on_recv
    - tornado.ioloop.IOLoop.current
    - shell_channel.on_recv
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.set_result
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7faf351c9760>
    argNames:
    - _
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 199
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.finish
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - f.set_result
    - f.done
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.done
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7faf351c99d0>
    argNames:
    - _
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 207
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.cleanup
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - shell_channel.close
    - control_channel.close
    - loop.remove_timeout
    - control_channel.closed
    - shell_channel.closed
    - iopub_channel.stop_on_recv
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.remove_timeout
    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: iopub_channel.stop_on_recv
    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: shell_channel.closed
    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: shell_channel.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: control_channel.closed
    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: control_channel.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: both_done.add_done_callback
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 219
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_shell_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - info_future.set_result
    - traitlets.config.LoggingConfigurable.log.debug
    - info_future.done
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: info_future.done
    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: info_future.set_result
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 226
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_control_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - info_future.set_result
    - traitlets.config.LoggingConfigurable.log.debug
    - info_future.done
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 233
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_iopub
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - iopub_future.set_result
    - traitlets.config.LoggingConfigurable.log.debug
    - iopub_future.done
    - iopub_channel.stop_on_recv
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: iopub_future.done
    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: iopub_future.set_result
    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: iopub_channel.on_recv
    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: shell_channel.on_recv
    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: control_channel.on_recv
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 10
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - count
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 247
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.nudge
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - f.set_result
    - traitlets.Instance.send
    - both_done.done
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.finish
    - control_channel.closed
    - loop.call_later
    - shell_channel.closed
    - f.done
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: both_done.done
    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.call_later
    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: tornado.gen.with_timeout
    functionSourceFile: tornado
    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: future.add_done_callback
    functionSourceFile: <builtin>
    functionUses: 4
    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: 1
    functionLinenumber: 284
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._register_session
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - traitlets.config.LoggingConfigurable.log.warning
    - stale_handler.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable._open_sessions.get
    functionSourceFile: traitlets
    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: stale_handler.close
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 301
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.prepare
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - asyncio.get_running_loop
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.str
    - traitlets.Any.on_recv
    - tornado.ioloop.IOLoop.current
    - traitlets.config.LoggingConfigurable.log.warning
    - time.time
    - loop.time
    - traitlets.Instance.send
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._register_session
    - jupyter_core.utils.ensure_async
    - future.add_done_callback
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - stale_handler.close
    - <builtin>.hasattr
    - asyncio.wrap_future
    - asyncio.sleep
    - loop.add_timeout
    - future.done
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TimeoutError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 579
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - asyncio.get_running_loop
    - traitlets.Instance.send
    - asyncio.wrap_future
    - traitlets.config.LoggingConfigurable.log.debug
    - future.add_done_callback
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - future.done
    - traitlets.Any.on_recv
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 330
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.prepare.give_up
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.Instance.done
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Instance.set_result
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.done
    functionSourceFile: traitlets
    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: traitlets.Instance.set_result
    functionSourceFile: traitlets
    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: loop.add_timeout
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 14
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 342
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - asyncio.get_running_loop
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.Instance.add_done_callback
    - traitlets.config.LoggingConfigurable.log.info
    - tornado.ioloop.IOLoop.current
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - traitlets.config.LoggingConfigurable.log.error
    - tornado.gen.multi
    - tornado.gen.with_timeout
    - control_channel.on_recv
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - traitlets.config.LoggingConfigurable._open_sockets.add
    - both_done.add_done_callback
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.create_stream
    - f.set_result
    - loop.time
    - stream.on_recv
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - future.add_done_callback
    - <builtin>.getattr
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - iopub_channel.on_recv
    - traitlets.Dict.items
    - stream.close
    - shell_channel.on_recv
    - asyncio.wrap_future
    - traitlets.Instance.set_result
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge
    - stream.closed
    - concurrent.futures.Future
    - loop.call_later
    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: 5
    functionLinenumber: 360
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect.replay
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - offsets.append
    - msg.copy
    - <builtin>.len
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.str
    - traitlets.Instance.unpack
    - traitlets.config.LoggingConfigurable.log.info
    - tornado.ioloop.IOLoop.current
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._limit_rate
    - traitlets.Instance.pack
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_outgoing_message
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - traitlets.Instance.feed_identities
    - stream.on_recv
    - traitlets.List.pop
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr
    - channel.encode
    - traitlets.Instance.deserialize
    - textwrap.dedent
    - <builtin>.list
    - <builtin>.getattr
    - traitlets.List.append
    - <builtin>.sum
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_zmq_reply
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_error
    - <builtin>.isinstance
    - traitlets.Dict.items
    - traitlets.config.LoggingConfigurable.log.critical
    - json.dumps
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - stream.close
    - offset.to_bytes
    - traitlets.Instance.set_result
    - buffers.insert
    - traitlets.Instance.msg
    - stream.closed
    - msg.pop
    - struct.pack
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stream
    - outgoing_msg
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 494
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_outgoing_message
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - offsets.append
    - msg.copy
    - <builtin>.len
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.str
    - traitlets.Instance.unpack
    - tornado.ioloop.IOLoop.current
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._limit_rate
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply
    - traitlets.Instance.pack
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.float
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - traitlets.Instance.feed_identities
    - stream.on_recv
    - traitlets.List.pop
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr
    - channel.encode
    - traitlets.Instance.deserialize
    - textwrap.dedent
    - <builtin>.list
    - <builtin>.getattr
    - traitlets.List.append
    - <builtin>.sum
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_zmq_reply
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_error
    - traitlets.Dict.items
    - traitlets.config.LoggingConfigurable.log.critical
    - json.dumps
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - stream.close
    - offset.to_bytes
    - traitlets.Instance.set_result
    - buffers.insert
    - traitlets.Instance.msg
    - stream.closed
    - msg.pop
    - struct.pack
    - <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: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.add_done_callback
    functionSourceFile: traitlets
    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: stream.closed
    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: stream.close
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 13
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 406
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 5
    functionsReached:
    - stream.on_recv
    - traitlets.Instance.set_result
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - traitlets.config.LoggingConfigurable.log.debug
    - stream.closed
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - traitlets.Dict.items
    - stream.close
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    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: 394
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect.subscribe
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - stream.on_recv_stream
    - traitlets.Dict.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: stream.on_recv_stream
    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: traitlets.config.LoggingConfigurable._open_sockets.add
    functionSourceFile: traitlets
    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: 402
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.close
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - stream.on_recv
    - traitlets.Instance.set_result
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - traitlets.config.LoggingConfigurable.log.debug
    - stream.closed
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - traitlets.Dict.items
    - stream.close
    - traitlets.config.LoggingConfigurable._open_sockets.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: traitlets.config.LoggingConfigurable._open_sessions.pop
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable._open_sockets.remove
    functionSourceFile: traitlets
    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: stream.on_recv
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 7
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - incoming_msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 449
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_incoming_message
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - offsets.append
    - traitlets.config.LoggingConfigurable.log.debug
    - warnings.warn
    - ISO8601_PAT.match
    - dateutil.tz.tzlocal
    - <builtin>.range
    - traitlets.Instance.unpack
    - json.loads
    - jupyter_server.services.kernels.connection.base.deserialize_msg_from_ws_v1
    - traitlets.config.LoggingConfigurable.log.warning
    - dateutil.parser.parse.items
    - jupyter_client.jsonutil._ensure_tzinfo
    - <builtin>.zip
    - int.from_bytes
    - struct.unpack
    - traitlets.Instance.send
    - dateutil.parser.parse.replace
    - <builtin>.list
    - jupyter_client.jsonutil.extract_dates
    - jupyter_server.services.kernels.connection.base.deserialize_binary_message
    - jupyter_client.jsonutil.parse_date
    - dateutil.parser.parse
    - bufs.append
    - traitlets.Instance.send_raw
    - msg.pop
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - field
    - value
    - msg_list
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 520
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 5
    functionsReached:
    - traitlets.Instance.unpack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.send_raw
    functionSourceFile: traitlets
    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: traitlets.Instance.feed_identities
    functionSourceFile: traitlets
    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: traitlets.Instance.deserialize
    functionSourceFile: traitlets
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - channel
    - msg
    - msg_list
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 805
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_error
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - traitlets.Instance.unpack
    - traitlets.Instance.pack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 7
    IfCount: 14
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - channel
    - msg
    - msg_list
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 660
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._limit_rate
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - offsets.append
    - <builtin>.len
    - traitlets.Instance.unpack
    - tornado.ioloop.IOLoop.current
    - traitlets.Instance.pack
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - traitlets.List.pop
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr
    - channel.encode
    - textwrap.dedent
    - traitlets.List.append
    - <builtin>.sum
    - json.dumps
    - offset.to_bytes
    - traitlets.Instance.msg
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stream
    - msg_list
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 556
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_zmq_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - offsets.append
    - msg.copy
    - <builtin>.len
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.str
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - traitlets.Instance.pack
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - traitlets.Instance.feed_identities
    - stream.on_recv
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - channel.encode
    - traitlets.Instance.deserialize
    - <builtin>.list
    - <builtin>.getattr
    - json.dumps
    - traitlets.Dict.items
    - traitlets.config.LoggingConfigurable.log.critical
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - stream.close
    - offset.to_bytes
    - traitlets.Instance.set_result
    - buffers.insert
    - stream.closed
    - msg.pop
    - struct.pack
    - <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: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.unpack
    functionSourceFile: traitlets
    functionUses: 6
    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 0x7faf36116b20>
    argNames:
    - self
    - msg_or_list
    - channel
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 531
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 3
    functionsReached:
    - msg.copy
    - offsets.append
    - buffers.insert
    - <builtin>.len
    - traitlets.Instance.deserialize
    - <builtin>.list
    - msg.pop
    - struct.pack
    - <builtin>.isinstance
    - json.dumps
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - traitlets.Instance.feed_identities
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Any.on_recv
    functionSourceFile: traitlets
    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: future.done
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info.<lambda1>
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.Instance.done
    - <builtin>.int
    - traitlets.Instance.set_result
    - f.result
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._finish_kernel_info
    - traitlets.config.LoggingConfigurable.log.info
    - info.get
    - protocol_version.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: f.result
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 626
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._finish_kernel_info
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - traitlets.Instance.done
    - <builtin>.int
    - traitlets.Instance.set_result
    - traitlets.config.LoggingConfigurable.log.info
    - info.get
    - protocol_version.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 601
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._handle_kernel_info_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.Instance.done
    - <builtin>.int
    - traitlets.Instance.set_result
    - traitlets.config.LoggingConfigurable.log.error
    - traitlets.Any.close
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.Instance.deserialize
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._finish_kernel_info
    - traitlets.config.LoggingConfigurable.log.info
    - info.get
    - traitlets.Instance.feed_identities
    - protocol_version.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: traitlets.Any.close
    functionSourceFile: traitlets
    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: protocol_version.split
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - error_message
    - parent_header
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 645
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 3
    functionsReached:
    - offsets.append
    - offset.to_bytes
    - traitlets.Instance.pack
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.len
    - traitlets.Instance.msg
    - channel.encode
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - 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: <builtin>.sum
    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: textwrap.dedent
    functionSourceFile: textwrap
    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: traitlets.List.pop
    functionSourceFile: traitlets
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - status
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 779
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._send_status_message
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - offsets.append
    - offset.to_bytes
    - traitlets.Instance.pack
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - <builtin>.len
    - traitlets.Instance.msg
    - channel.encode
    - iopub.flush
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - traitlets.Dict.get
    - iopub.closed
    - 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: iopub.closed
    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: iopub.flush
    functionSourceFile: <builtin>
    functionUses: 3
    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: 3
    functionLinenumber: 795
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.on_kernel_restarted
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - offsets.append
    - offset.to_bytes
    - traitlets.Instance.pack
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.len
    - traitlets.Instance.msg
    - channel.encode
    - iopub.flush
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - traitlets.Dict.get
    - iopub.closed
    - json.dumps
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._send_status_message
    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: 3
    functionLinenumber: 800
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.on_restart_failed
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - offsets.append
    - offset.to_bytes
    - traitlets.Instance.pack
    - traitlets.config.LoggingConfigurable.log.error
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - <builtin>.len
    - traitlets.Instance.msg
    - channel.encode
    - iopub.flush
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - traitlets.Dict.get
    - iopub.closed
    - json.dumps
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._send_status_message
    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: jupyter_server.services.kernels.websocket
    functionSourceFile: jupyter_server.services.kernels.websocket
    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: 20
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.kernel_websocket_connection_class
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 2
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    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: 24
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.set_default_headers
    functionSourceFile: jupyter_server.services.kernels.websocket
    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: 31
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.get_compression_options
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 35
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.pre_get
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 1
    functionsReached:
    - jupyter_server.services.kernels.websocket.KernelWebsocketHandler.kernel_websocket_connection_class
    - <builtin>.hasattr
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.settings.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 61
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.get
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 0
    functionsReached:
    - jupyter_server.services.kernels.websocket.KernelWebsocketHandler.kernel_websocket_connection_class
    - jupyter_server.services.kernels.websocket.KernelWebsocketHandler.pre_get
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - tornado.web.RequestHandler.settings.get
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 67
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.open
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - ws_message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 76
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.on_message
    functionSourceFile: jupyter_server.services.kernels.websocket
    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: 0
    functionLinenumber: 80
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.on_close
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - subprotocols
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 85
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.select_subprotocol
    functionSourceFile: jupyter_server.services.kernels.websocket
    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: jupyter_server.auth.logout
    functionSourceFile: jupyter_server.auth.logout
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 11
    functionName: jupyter_server.auth.logout.LogoutHandler.get
    functionSourceFile: jupyter_server.auth.logout
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.write
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - template.render
    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: jupyter_server.services.kernels.kernelmanager
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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: jupyter_server.services.kernels.kernelmanager.MappingKernelManager
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - traitlets.default
    - traitlets.List
    - traitlets.Float
    - traitlets.Dict
    - traitlets.Unicode
    - traitlets.Integer
    - traitlets.Bool
    - traitlets.Instance
    - traitlets.validate
    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: 53
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_kernel_manager_class
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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: 69
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_root_dir
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - os.getcwd
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 76
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._update_root_dir
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - os.path.isabs
    - os.path.isdir
    - jupyter_core.paths.exists
    - os.path.abspath
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.paths.exists
    functionSourceFile: jupyter_core
    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: 145
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_kernel_buffers
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - collections.defaultdict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_kernel_buffers.<lambda1>
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 153
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.__init__
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.config.configurable.LoggingConfigurable.__init__
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.configurable.LoggingConfigurable.__init__
    functionSourceFile: traitlets
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 182
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._handle_kernel_died
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 1
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - traitlets.Dict.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 187
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cwd_for_path
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - os.path.join
    - <builtin>.str
    - os.path.normpath
    - os.path.dirname
    - os.path.isdir
    - jupyter_server.utils.to_os_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - kernel_awaitable
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 196
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._remove_kernel_when_ready
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.Dict.pop
    - traitlets.config.configurable.LoggingConfigurable._kernel_ports.pop
    - <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: traitlets.config.configurable.LoggingConfigurable._kernel_ports.pop
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 7
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 204
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_start_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - warnings.warn
    - kwargs.get
    - <builtin>.str
    - jupyter_client.multikernelmanager.MultiKernelManager.pre_start_kernel
    - obj.strftime
    - prometheus_client.Gauge.labels
    - km.ready.exception
    - os.getpid
    - traitlets.log.get_logger.warning
    - kernel._activity_stream.on_recv
    - <builtin>.map
    - jupyter_core.utils.ensure_async
    - <builtin>.getattr
    - tornado.ioloop.PeriodicCallback.start
    - jupyter_client.session.Session._new_auth
    - jupyter_client.session.Session._check_packers.<lambda1>
    - tornado.ioloop.PeriodicCallback
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.repr
    - binascii.b2a_base64
    - obj.items
    - uuid.uuid4
    - json.loads
    - tornado.ioloop.IOLoop.current
    - zmq.Context
    - jupyter_client.session.Session.__init__
    - kwargs.pop
    - jupyter_server.utils.to_os_path
    - pickle.loads
    - km.start_kernel
    - asyncio.create_task
    - <builtin>.dict
    - <builtin>.hasattr
    - jupyter_client.multikernelmanager.MultiKernelManager._add_kernel_when_ready
    - hmac.HMAC
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - asyncio.wrap_future
    - os.path.join
    - traitlets.Dict.pop
    - traitlets.Any
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_client.session.json_packer
    - notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start
    - math.isinf
    - kernel.connect_iopub
    - datetime.datetime.utcnow
    - jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback
    - traitlets.utils.importstring.import_item
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.initialize_culler
    - s.decode
    - binascii.b2a_base64.decode
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - obj.isoformat
    - <builtin>.super
    - <builtin>.list
    - json.dumps
    - jupyter_client.multikernelmanager.MultiKernelManager._async_start_kernel
    - math.isnan
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - <builtin>.float
    - traitlets.log.get_logger
    - jupyter_client.session.utcnow
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity
    - jupyter_client.jsonutil.json_clean
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - jupyter_server._tz.utc_aware.utc_method
    - dt.replace
    - <builtin>.int
    - <builtin>.set
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cwd_for_path
    - os.path.normpath
    - pickle.dumps
    - os.path.dirname
    - datetime.datetime.utcfromtimestamp
    - jupyter_client.session.Session._check_packers
    - os.path.isdir
    - jupyter_client.session.pickle_packer
    - <builtin>.type
    - jupyter_client.session.json_unpacker
    - kwargs.setdefault
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 261
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 1
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - traitlets.Any
    - jupyter_client.session.utcnow
    - jupyter_client.session.json_packer
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity
    - warnings.warn
    - <builtin>.len
    - jupyter_client.jsonutil.json_clean
    - <builtin>.str
    - math.isinf
    - obj.items
    - kernel.connect_iopub
    - datetime.datetime.utcnow
    - jupyter_server._tz.utc_aware.utc_method
    - dt.replace
    - json.loads
    - jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback
    - traitlets.utils.importstring.import_item
    - <builtin>.int
    - <builtin>.set
    - jupyter_client.session.Session.__init__
    - obj.strftime
    - <builtin>.float
    - s.decode
    - pickle.dumps
    - binascii.b2a_base64.decode
    - datetime.datetime.utcfromtimestamp
    - jupyter_client.session.Session._check_packers
    - os.getpid
    - jupyter_client.session.pickle_packer
    - traitlets.log.get_logger.warning
    - pickle.loads
    - obj.isoformat
    - kernel._activity_stream.on_recv
    - <builtin>.map
    - <builtin>.super
    - <builtin>.type
    - <builtin>.list
    - jupyter_client.session.Session._new_auth
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - jupyter_client.session.json_unpacker
    - <builtin>.hasattr
    - json.dumps
    - hmac.HMAC
    - jupyter_client.session.Session._check_packers.<lambda2>
    - asyncio.wrap_future
    - jupyter_client.jsonutil.squash_dates
    - math.isnan
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - <builtin>.repr
    - binascii.b2a_base64
    - <builtin>.isinstance
    - traitlets.log.get_logger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prometheus_client.Gauge.labels
    functionSourceFile: prometheus_client
    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: notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    functionSourceFile: notebook
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 580
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.initialize_culler
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - tornado.ioloop.PeriodicCallback
    - tornado.ioloop.PeriodicCallback.start
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 531
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 3
    functionsReached:
    - traitlets.Any
    - jupyter_client.session.utcnow
    - jupyter_client.session.json_packer
    - <builtin>.len
    - warnings.warn
    - jupyter_client.jsonutil.json_clean
    - <builtin>.str
    - math.isinf
    - obj.items
    - kernel.connect_iopub
    - datetime.datetime.utcnow
    - dt.replace
    - jupyter_server._tz.utc_aware.utc_method
    - json.loads
    - traitlets.utils.importstring.import_item
    - <builtin>.int
    - <builtin>.set
    - jupyter_client.session.Session.__init__
    - obj.strftime
    - <builtin>.float
    - s.decode
    - pickle.dumps
    - binascii.b2a_base64.decode
    - datetime.datetime.utcfromtimestamp
    - jupyter_client.session.Session._check_packers
    - os.getpid
    - jupyter_client.session.pickle_packer
    - pickle.loads
    - traitlets.log.get_logger.warning
    - obj.isoformat
    - kernel._activity_stream.on_recv
    - <builtin>.map
    - <builtin>.super
    - <builtin>.type
    - <builtin>.list
    - jupyter_client.session.Session._new_auth
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - jupyter_client.session.json_unpacker
    - json.dumps
    - <builtin>.hasattr
    - hmac.HMAC
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.jsonutil.squash_dates
    - math.isnan
    - <builtin>.repr
    - binascii.b2a_base64
    - <builtin>.isinstance
    - traitlets.log.get_logger
    linkageType: 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: -1
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start.<lambda1>
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - traitlets.Dict.pop
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._handle_kernel_died
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 283
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.ports_changed
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._get_changed_ports
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 303
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._get_changed_ports
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - session_key
    - channels
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 319
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_buffering
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - functools.partial
    - stream.on_recv
    - traitlets.Any.pop
    - <builtin>.len
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - channels.items
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - stream.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: channels.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 524
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    functionSourceFile: ''
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 383
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 5
    functionsReached:
    - stream.on_recv
    - traitlets.Any.pop
    - <builtin>.len
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - stream.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - channel
    - msg_parts
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 351
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_buffering.buffer_msg
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - session_key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 358
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.get_buffer
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - stream.on_recv
    - traitlets.Any.pop
    - <builtin>.len
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - stream.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Any.pop
    functionSourceFile: traitlets
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf33b32100>
    - <ast.Constant object at 0x7faf33b320d0>
    argNames:
    - self
    - kernel_id
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 411
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_shutdown_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - traitlets.Any.pop
    - <builtin>.len
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    - notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - kernel._pending_restart_cleanup
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - traitlets.config.LoggingConfigurable.ready.exception
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - prometheus_client.Gauge.labels
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - asyncio.ensure_future
    - stream.on_recv
    - jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    - task.cancel
    - jupyter_core.utils.ensure_async
    - typing.cast
    - <builtin>.getattr
    - stream.close
    - kernel._activity_stream.close
    - traitlets.Dict.pop
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: task.cancel
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 570
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 4
    functionsReached:
    - kernel._pending_restart_cleanup
    - <builtin>.getattr
    - kernel._activity_stream.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 8
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf33b2f2b0>
    argNames:
    - self
    - kernel_id
    - now
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 432
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_client.session.utcnow
    - jupyter_client.session.json_packer
    - traitlets.config.LoggingConfigurable.connect_shell
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity
    - warnings.warn
    - traitlets.config.LoggingConfigurable.add_restart_callback
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    - jupyter_client.jsonutil.json_clean
    - <builtin>.len
    - <builtin>.str
    - math.isinf
    - obj.items
    - channel.on_recv
    - kernel.connect_iopub
    - traitlets.config.LoggingConfigurable.restart_kernel
    - datetime.datetime.utcnow
    - jupyter_server._tz.utc_aware.utc_method
    - dt.replace
    - kernel._pending_restart_cleanup
    - json.loads
    - tornado.ioloop.IOLoop.current
    - traitlets.utils.importstring.import_item
    - <builtin>.int
    - <builtin>.set
    - jupyter_client.session.Session.__init__
    - obj.strftime
    - <builtin>.float
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - s.decode
    - pickle.dumps
    - binascii.b2a_base64.decode
    - datetime.datetime.utcfromtimestamp
    - jupyter_client.session.Session._check_packers
    - os.getpid
    - jupyter_client.session.pickle_packer
    - pickle.loads
    - traitlets.config.LoggingConfigurable.ready.done
    - obj.isoformat
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - loop.time
    - kernel._activity_stream.on_recv
    - traitlets.log.get_logger.warning
    - <builtin>.map
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - <builtin>.type
    - <builtin>.list
    - jupyter_client.session.Session._new_auth
    - <builtin>.getattr
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - jupyter_client.session.json_unpacker
    - traitlets.config.LoggingConfigurable.session.send
    - json.dumps
    - <builtin>.hasattr
    - hmac.HMAC
    - jupyter_client.session.Session._check_packers.<lambda2>
    - tornado.concurrent.Future
    - kernel._activity_stream.close
    - jupyter_client.jsonutil.squash_dates
    - math.isnan
    - loop.add_timeout
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - <builtin>.repr
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._get_changed_ports
    - binascii.b2a_base64
    - <builtin>.isinstance
    - traitlets.log.get_logger
    - jupyter_client.multikernelmanager.MultiKernelManager._async_restart_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.connect_shell
    functionSourceFile: traitlets
    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: tornado.concurrent.Future
    functionSourceFile: tornado
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 441
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 3
    functionsReached:
    - channel.closed
    - channel.close
    - traitlets.config.LoggingConfigurable.remove_restart_callback
    - loop.remove_timeout
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: channel.closed
    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: channel.close
    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: traitlets.config.LoggingConfigurable.remove_restart_callback
    functionSourceFile: traitlets
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 449
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_reply
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - future.set_result
    - channel.closed
    - loop.remove_timeout
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish
    - traitlets.config.LoggingConfigurable.remove_restart_callback
    - future.done
    - channel.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: future.set_result
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 455
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_timeout
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - channel.closed
    - loop.remove_timeout
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish
    - future.set_exception
    - traitlets.config.LoggingConfigurable.remove_restart_callback
    - future.done
    - channel.close
    - <builtin>.TimeoutError
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.TimeoutError
    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: future.set_exception
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 461
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_restart_failed
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.RuntimeError
    - channel.closed
    - loop.remove_timeout
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish
    - future.set_exception
    - traitlets.config.LoggingConfigurable.remove_restart_callback
    - future.done
    - channel.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.RuntimeError
    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: traitlets.config.LoggingConfigurable.add_restart_callback
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable.session.send
    functionSourceFile: traitlets
    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: channel.on_recv
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 481
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.notify_connect
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 486
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.notify_disconnect
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 491
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.kernel_model
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 1
    functionsReached:
    - dt.isoformat
    - jupyter_server._tz.isoformat
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - <builtin>.getattr
    - traitlets.Dict.get
    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: 3
    functionLinenumber: 510
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.list_kernels
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids
    - traitlets.Dict.keys
    - dt.isoformat
    - jupyter_server._tz.isoformat
    - kernels.append
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - <builtin>.list
    - <builtin>.getattr
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.kernel_model
    - traitlets.Dict.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: kernels.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: kernel.connect_iopub
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg_list
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 548
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity.record_activity
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - traitlets.Any
    - jupyter_client.session.utcnow
    - jupyter_client.session.Session.feed_identities
    - <builtin>.len
    - jupyter_client.session.Session._cull_digest_history
    - warnings.warn
    - ISO8601_PAT.match
    - jupyter_client.session.Session._add_digest
    - dateutil.tz.tzlocal
    - hmac.compare_digest
    - datetime.datetime.utcnow
    - dt.replace
    - jupyter_server._tz.utc_aware.utc_method
    - json.loads
    - jupyter_client.adapter.adapt
    - <builtin>.bytes
    - traitlets.utils.importstring.import_item
    - <builtin>.int
    - <builtin>.set
    - s.decode
    - h.update
    - dateutil.parser.parse.items
    - adapters.get
    - jupyter_client.jsonutil._ensure_tzinfo
    - datetime.datetime.utcfromtimestamp
    - traitlets.Set.add
    - pickle.loads
    - jupyter_client.session.Session.sign
    - <builtin>.enumerate
    - dateutil.parser.parse.replace
    - <builtin>.memoryview
    - traitlets.Set.difference_update
    - jupyter_client.jsonutil.extract_dates
    - typing.cast
    - jupyter_client.session.json_unpacker
    - msg_list.index
    - jupyter_client.session.Session.deserialize
    - jupyter_client.jsonutil.parse_date
    - h.hexdigest
    - jupyter_client.session.Session._check_packers.<lambda2>
    - dateutil.parser.parse
    - pprint.pprint
    - traitlets.Instance.copy
    - <builtin>.tuple
    - random.sample
    - <builtin>.isinstance
    - <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: kernel._activity_stream.on_recv
    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: kernel._activity_stream.close
    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: kernel._pending_restart_cleanup
    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: tornado.ioloop.PeriodicCallback.start
    functionSourceFile: tornado
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 612
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernels
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - traitlets.Any.pop
    - <builtin>.len
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    - notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernel_if_idle
    - datetime.datetime.utcnow
    - jupyter_server._tz.utc_aware.utc_method
    - dt.replace
    - kernel._pending_restart_cleanup
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - traitlets.config.LoggingConfigurable.ready.exception
    - <builtin>.int
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_shutdown_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - prometheus_client.Gauge.labels
    - datetime.timedelta
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - dt_idle.total_seconds
    - datetime.datetime.utcfromtimestamp
    - traitlets.Dict.get
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - asyncio.ensure_future
    - stream.on_recv
    - jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    - task.cancel
    - jupyter_core.utils.ensure_async
    - <builtin>.list
    - <builtin>.getattr
    - typing.cast
    - <builtin>.hasattr
    - stream.close
    - kernel._activity_stream.close
    - traitlets.Dict.pop
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 630
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernel_if_idle
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 1
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - traitlets.Any.pop
    - <builtin>.len
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    - notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - datetime.datetime.utcnow
    - dt.replace
    - jupyter_server._tz.utc_aware.utc_method
    - kernel._pending_restart_cleanup
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - traitlets.config.LoggingConfigurable.ready.exception
    - <builtin>.int
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_shutdown_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - prometheus_client.Gauge.labels
    - datetime.timedelta
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - dt_idle.total_seconds
    - datetime.datetime.utcfromtimestamp
    - traitlets.Dict.get
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - asyncio.ensure_future
    - stream.on_recv
    - jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    - task.cancel
    - jupyter_core.utils.ensure_async
    - <builtin>.getattr
    - typing.cast
    - <builtin>.hasattr
    - stream.close
    - kernel._activity_stream.close
    - traitlets.Dict.pop
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dt_idle.total_seconds
    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: jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.default
    - traitlets.validate
    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: 680
    functionName: jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager._default_kernel_manager_class
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 684
    functionName: jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager._validate_kernel_manager_class
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - warnings.warn
    - jupyter_server.utils.import_item
    - <builtin>.__import__
    - <builtin>.getattr
    - traitlets.Any.rsplit
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 698
    functionName: jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager.__init__
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.config.configurable.LoggingConfigurable.__init__
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - datetime.datetime.utcnow
    linkageType: 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: jupyter_server.services.kernels.kernelmanager.ServerKernelManager
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    - traitlets.Instance
    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: jupyter_client.ioloop.manager
    functionSourceFile: jupyter_client.ioloop.manager
    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:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 15
    functionName: jupyter_client.ioloop.manager.as_zmqstream
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 18
    functionName: jupyter_client.ioloop.manager.as_zmqstream.wrapped
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.connect_iopub
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - jupyter_client.connect.ConnectionFileMixin.connect_hb
    - jupyter_client.connect.ConnectionFileMixin.connect_control
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - zmq.eventloop.zmqstream.ZMQStream
    - <builtin>.getattr
    - jupyter_client.connect.ConnectionFileMixin.connect_shell
    - jupyter_client.connect.ConnectionFileMixin.connect_stdin
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - sock.setsockopt
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: zmq.eventloop.zmqstream.ZMQStream
    functionSourceFile: zmq
    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: jupyter_client.ioloop.manager.IOLoopKernelManager
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - traitlets.Type
    - traitlets.Instance
    - jupyter_client.ioloop.manager.as_zmqstream
    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: 40
    functionName: jupyter_client.ioloop.manager.IOLoopKernelManager._loop_default
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: jupyter_client.ioloop.manager.IOLoopKernelManager.start_restarter
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - traitlets.Type
    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: 0
    functionLinenumber: 64
    functionName: jupyter_client.ioloop.manager.IOLoopKernelManager.stop_restarter
    functionSourceFile: jupyter_client.ioloop.manager
    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: jupyter_client.ioloop.manager.AsyncIOLoopKernelManager
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - traitlets.Type
    - traitlets.Instance
    - jupyter_client.ioloop.manager.as_zmqstream
    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: 81
    functionName: jupyter_client.ioloop.manager.AsyncIOLoopKernelManager._loop_default
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 98
    functionName: jupyter_client.ioloop.manager.AsyncIOLoopKernelManager.start_restarter
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - traitlets.Type
    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: 0
    functionLinenumber: 107
    functionName: jupyter_client.ioloop.manager.AsyncIOLoopKernelManager.stop_restarter
    functionSourceFile: jupyter_client.ioloop.manager
    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: jupyter_client.ioloop.restarter
    functionSourceFile: jupyter_client.ioloop.restarter
    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: jupyter_client.ioloop.restarter.IOLoopKernelRestarter
    functionSourceFile: jupyter_client.ioloop.restarter
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    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: 21
    functionName: jupyter_client.ioloop.restarter.IOLoopKernelRestarter._loop_default
    functionSourceFile: jupyter_client.ioloop.restarter
    functionUses: 0
    functionsReached:
    - warnings.warn
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 33
    functionName: jupyter_client.ioloop.restarter.IOLoopKernelRestarter.start
    functionSourceFile: jupyter_client.ioloop.restarter
    functionUses: 0
    functionsReached:
    - tornado.ioloop.PeriodicCallback
    - tornado.ioloop.PeriodicCallback.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: jupyter_client.ioloop.restarter.IOLoopKernelRestarter.stop
    functionSourceFile: jupyter_client.ioloop.restarter
    functionUses: 1
    functionsReached:
    - tornado.ioloop.PeriodicCallback.stop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.ioloop.PeriodicCallback.stop
    functionSourceFile: tornado
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 9
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 54
    functionName: jupyter_client.ioloop.restarter.AsyncIOLoopKernelRestarter.poll
    functionSourceFile: jupyter_client.ioloop.restarter
    functionUses: 0
    functionsReached:
    - jupyter_client.restarter.KernelRestarter._fire_callbacks
    - traitlets.Instance.provisioner.get_stable_start_time
    - time.time
    - traitlets.Instance.restart_kernel
    - traitlets.Instance.is_alive
    - tornado.ioloop.PeriodicCallback.stop
    - jupyter_client.ioloop.restarter.IOLoopKernelRestarter.stop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.is_alive
    functionSourceFile: traitlets
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 98
    functionName: jupyter_client.restarter.KernelRestarter._fire_callbacks
    functionSourceFile: ''
    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: traitlets.Instance.restart_kernel
    functionSourceFile: traitlets
    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: traitlets.Instance.provisioner.get_stable_start_time
    functionSourceFile: traitlets
    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: jupyter_client.restarter
    functionSourceFile: jupyter_client.restarter
    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: jupyter_client.restarter.KernelRestarter
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    functionsReached:
    - traitlets.default
    - traitlets.Dict
    - traitlets.Float
    - traitlets.Bool
    - traitlets.Instance
    - traitlets.Integer
    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: 55
    functionName: jupyter_client.restarter.KernelRestarter._default_last_dead
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    functionsReached:
    - time.time
    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: 60
    functionName: jupyter_client.restarter.KernelRestarter._callbacks_default
    functionSourceFile: jupyter_client.restarter
    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: 63
    functionName: jupyter_client.restarter.KernelRestarter.start
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    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: 68
    functionName: jupyter_client.restarter.KernelRestarter.stop
    functionSourceFile: jupyter_client.restarter
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf345ee520>
    argNames:
    - self
    - f
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 73
    functionName: jupyter_client.restarter.KernelRestarter.add_callback
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    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 0x7faf34665af0>
    argNames:
    - self
    - f
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 84
    functionName: jupyter_client.restarter.KernelRestarter.remove_callback
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 9
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 111
    functionName: jupyter_client.restarter.KernelRestarter.poll
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    functionsReached:
    - jupyter_client.restarter.KernelRestarter._fire_callbacks
    - traitlets.Instance.provisioner.get_stable_start_time
    - time.time
    - traitlets.Instance.restart_kernel
    - traitlets.Instance.is_alive
    - jupyter_client.restarter.KernelRestarter.stop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.prometheus
    functionSourceFile: jupyter_server.prometheus
    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: jupyter_server.prometheus.metrics
    functionSourceFile: jupyter_server.prometheus.metrics
    functionUses: 0
    functionsReached:
    - prometheus_client.Gauge
    - prometheus_client.Histogram
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prometheus_client.Histogram
    functionSourceFile: prometheus_client
    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: prometheus_client.Gauge
    functionSourceFile: prometheus_client
    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: jupyter_client.ioloop
    functionSourceFile: jupyter_client.ioloop
    functionUses: 0
    functionsReached: []
    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: -1
    functionName: jupyter_server.gateway.managers
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - KernelClientABC.register
    - KernelManagerABC.register
    linkageType: 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: jupyter_server.gateway.managers.GatewayMappingKernelManager
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.default
    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: 39
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager._default_kernel_manager_class
    functionSourceFile: jupyter_server.gateway.managers
    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: 43
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager._default_shared_context
    functionSourceFile: jupyter_server.gateway.managers
    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
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 46
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - s.strip
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_server.utils.url_path_join
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 53
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.remove_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 2
    functionsReached:
    - traitlets.Dict.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 60
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.start_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - traitlets.Any
    - zmq.Context
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - km.start_kernel
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cwd_for_path
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.initialize_culler
    - os.path.join
    - <builtin>.str
    - os.path.normpath
    - os.path.dirname
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - tornado.ioloop.PeriodicCallback.start
    - kwargs.setdefault
    - tornado.ioloop.PeriodicCallback
    - jupyter_server.utils.to_os_path
    - os.path.isdir
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 89
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.kernel_model
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 104
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.list_kernels
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 1
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - http.cookies.SimpleCookie
    - json.loads
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - kernel_models.values
    - culled_ids.append
    - our_kernels.items
    - tornado.escape.json_decode
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.httpclient.AsyncHTTPClient
    - response.headers.get
    - <builtin>.list
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - traitlets.Dict.copy
    - e.response.body.decode
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - traitlets.Dict.pop
    - logging.getLogger
    - asyncio.sleep
    - cookie.load
    - <builtin>.repr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - endpoint
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 720
    functionName: jupyter_server.gateway.gateway_client.gateway_request
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 12
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - e.response.body.decode
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - tornado.httpclient.AsyncHTTPClient
    - logging.getLogger
    - asyncio.sleep
    - response.headers.get
    - cookie.load
    - <builtin>.repr
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - <builtin>.any
    - <builtin>.isinstance
    - json.loads
    - http.cookies.SimpleCookie
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.escape.json_decode
    functionSourceFile: tornado
    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: our_kernels.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: culled_ids.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: kernel_models.values
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    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 0x7faf34edb370>
    - <ast.Constant object at 0x7faf34edb550>
    argNames:
    - self
    - kernel_id
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 156
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.shutdown_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - traitlets.Dict.pop
    - jupyter_core.utils.ensure_async
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_server.gateway.managers.GatewayMappingKernelManager.remove_kernel
    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 0x7faf337b8a00>
    argNames:
    - self
    - kernel_id
    - now
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 172
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.restart_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_core.utils.ensure_async
    - traitlets.config.LoggingConfigurable.restart_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 183
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.interrupt_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.interrupt_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_core.utils.ensure_async
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf355ee220>
    argNames:
    - self
    - now
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 194
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.shutdown_all
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - traitlets.Dict.pop
    - jupyter_core.utils.ensure_async
    - <builtin>.list
    - jupyter_server.gateway.managers.GatewayMappingKernelManager.remove_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    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: 6
    functionLinenumber: 202
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.cull_kernels
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.managers.GatewayMappingKernelManager.list_kernels
    - http.cookies.SimpleCookie
    - json.loads
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - kernel_models.values
    - culled_ids.append
    - our_kernels.items
    - tornado.escape.json_decode
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.httpclient.AsyncHTTPClient
    - response.headers.get
    - <builtin>.super
    - <builtin>.list
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - traitlets.Dict.copy
    - e.response.body.decode
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - traitlets.Dict.pop
    - logging.getLogger
    - asyncio.sleep
    - cookie.load
    - <builtin>.repr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 211
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - os.environ.get
    - jupyter_server.utils.url_path_join
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._get_endpoint_for_user_filter
    - traitlets.config.SingletonConfigurable.instance
    - <builtin>.super
    - s.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - default_endpoint
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 225
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager._get_endpoint_for_user_filter
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 1
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_specs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 232
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager._replace_path_kernelspec_resources
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 2
    functionsReached:
    - jupyter_server.utils.url_path_join
    - str.rsplit
    - <builtin>.len
    - traitlets.config.LoggingConfigurable.log.debug
    - s.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: str.rsplit
    functionSourceFile: <builtin>
    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 0x7faf35b4e6a0>
    argNames:
    - self
    - kernel_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 255
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 3
    functionsReached:
    - tornado.escape.url_escape
    - s.strip
    - jupyter_server.utils.url_path_join
    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: 6
    functionLinenumber: 266
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.get_all_specs
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - tornado.escape.url_escape
    - str.rsplit
    - <builtin>.len
    - traitlets.config.LoggingConfigurable.log.debug
    - s.strip
    - traitlets.config.LoggingConfigurable.log.info
    - http.cookies.SimpleCookie
    - json.loads
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url
    - jupyter_server.gateway.managers.GatewayKernelSpecManager.list_kernel_specs
    - tornado.escape.json_decode
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.httpclient.AsyncHTTPClient
    - response.headers.get
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - jupyter_server.utils.url_path_join
    - e.response.body.decode
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - asyncio.sleep
    - fetched_kspecs.get
    - cookie.load
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._replace_path_kernelspec_resources
    - <builtin>.repr
    - <builtin>.isinstance
    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: 5
    functionLinenumber: 286
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.list_kernel_specs
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 1
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - tornado.escape.url_escape
    - str.rsplit
    - <builtin>.len
    - traitlets.config.LoggingConfigurable.log.debug
    - s.strip
    - http.cookies.SimpleCookie
    - json.loads
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url
    - tornado.escape.json_decode
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.httpclient.AsyncHTTPClient
    - response.headers.get
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - jupyter_server.utils.url_path_join
    - e.response.body.decode
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - asyncio.sleep
    - cookie.load
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._replace_path_kernelspec_resources
    - <builtin>.repr
    - <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: 0
    functionLinenumber: -1
    functionName: fetched_kspecs.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 295
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.get_kernel_spec
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - tornado.escape.url_escape
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.str
    - s.strip
    - http.cookies.SimpleCookie
    - json.loads
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url
    - tornado.escape.json_decode
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.httpclient.AsyncHTTPClient
    - response.headers.get
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - jupyter_server.utils.url_path_join
    - e.response.body.decode
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - asyncio.sleep
    - cookie.load
    - <builtin>.repr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 320
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.get_kernel_spec_resource
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.str
    - s.strip
    - http.cookies.SimpleCookie
    - json.loads
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.httpclient.AsyncHTTPClient
    - response.headers.get
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - jupyter_server.utils.url_path_join
    - e.response.body.decode
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - asyncio.sleep
    - cookie.load
    - <builtin>.repr
    - <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: jupyter_server.gateway.managers.GatewaySessionManager
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 351
    functionName: jupyter_server.gateway.managers.GatewaySessionManager.kernel_culled
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.Instance.get_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.get_kernel
    functionSourceFile: traitlets
    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: jupyter_server.gateway.managers.GatewayKernelManager
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.DottedObjectName
    - traitlets.default
    - traitlets.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: 376
    functionName: jupyter_server.gateway.managers.GatewayKernelManager._default_cache_ports
    functionSourceFile: jupyter_server.gateway.managers
    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
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 379
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - s.strip
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_server.utils.url_path_join
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 391
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.has_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 402
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.client
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - kw.update
    - traitlets.Type
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - info.update
    - traitlets.Instance.clone
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf359dcfa0>
    argNames:
    - self
    - model
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 418
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.refresh_model
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 2
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - traitlets.config.LoggingConfigurable.log.debug
    - http.cookies.SimpleCookie
    - json.loads
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - <builtin>.int
    - traitlets.config.LoggingConfigurable.log.warning
    - tornado.escape.json_decode
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.httpclient.AsyncHTTPClient
    - response.headers.get
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - e.response.body.decode
    - error_payload.get
    - datetime.datetime.strptime
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - asyncio.sleep
    - cookie.load
    - <builtin>.repr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 461
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.start_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - payload_envs.update
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - tornado.escape.url_escape
    - traitlets.config.LoggingConfigurable.log.debug
    - kwargs.get
    - <builtin>.str
    - s.strip
    - traitlets.config.LoggingConfigurable.log.info
    - http.cookies.SimpleCookie
    - json.loads
    - os.environ.get
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - <builtin>.int
    - traitlets.config.LoggingConfigurable.log.warning
    - kernel_env.get
    - tornado.escape.json_encode
    - jupyter_server.gateway.managers.GatewayKernelManager.refresh_model
    - payload_envs.items
    - tornado.escape.json_decode
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.httpclient.AsyncHTTPClient
    - response.headers.get
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - k.startswith
    - jupyter_server.utils.url_path_join
    - os.environ.copy
    - e.response.body.decode
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - datetime.datetime.strptime
    - logging.getLogger
    - asyncio.sleep
    - cookie.load
    - <builtin>.repr
    - <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: 0
    functionLinenumber: -1
    functionName: payload_envs.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: payload_envs.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: k.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: kernel_env.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: tornado.escape.json_encode
    functionSourceFile: tornado
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf32eb5e20>
    - <ast.Constant object at 0x7faf32eb5df0>
    argNames:
    - self
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 512
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.shutdown_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - traitlets.config.LoggingConfigurable.log.debug
    - http.cookies.SimpleCookie
    - json.loads
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.httpclient.AsyncHTTPClient
    - response.headers.get
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - e.response.body.decode
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - asyncio.sleep
    - cookie.load
    - <builtin>.repr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 526
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.restart_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - traitlets.config.LoggingConfigurable.log.debug
    - http.cookies.SimpleCookie
    - json.loads
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - tornado.escape.json_encode
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.httpclient.AsyncHTTPClient
    - response.headers.get
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - e.response.body.decode
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - asyncio.sleep
    - cookie.load
    - <builtin>.repr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 540
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.interrupt_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - traitlets.config.LoggingConfigurable.log.debug
    - http.cookies.SimpleCookie
    - json.loads
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - tornado.escape.json_encode
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.httpclient.AsyncHTTPClient
    - response.headers.get
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - e.response.body.decode
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - asyncio.sleep
    - cookie.load
    - <builtin>.repr
    - <builtin>.isinstance
    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: 6
    functionLinenumber: 554
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.is_alive
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - traitlets.config.LoggingConfigurable.log.debug
    - http.cookies.SimpleCookie
    - json.loads
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - <builtin>.int
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.gateway.managers.GatewayKernelManager.refresh_model
    - tornado.escape.json_decode
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.httpclient.AsyncHTTPClient
    - response.headers.get
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - e.response.body.decode
    - error_payload.get
    - datetime.datetime.strptime
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - asyncio.sleep
    - cookie.load
    - <builtin>.repr
    - <builtin>.isinstance
    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 0x7faf32eaf8b0>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 563
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.cleanup_resources
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - channel_name
    - channel_socket
    - log
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 577
    functionName: jupyter_server.gateway.managers.ChannelQueue.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 5
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf32eacc10>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 585
    functionName: jupyter_server.gateway.managers.ChannelQueue._async_get
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 1
    functionsReached:
    - <builtin>.float
    - queue.Queue.get
    - time.monotonic
    - asyncio.sleep
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    - 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: queue.Queue.get
    functionSourceFile: queue
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 605
    functionName: jupyter_server.gateway.managers.ChannelQueue.get_msg
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - time.monotonic
    - traitlets.config.LoggingConfigurable.log.debug
    - kwargs.get
    - asyncio.sleep
    - queue.Queue.get
    - queue.Queue.task_done
    - <builtin>.float
    - jupyter_server.gateway.managers.ChannelQueue._async_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: queue.Queue.task_done
    functionSourceFile: queue
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 617
    functionName: jupyter_server.gateway.managers.ChannelQueue.send
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - dt
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 628
    functionName: jupyter_server.gateway.managers.ChannelQueue.serialize_datetime
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - dt.timestamp
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dt.timestamp
    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: 0
    functionLinenumber: 634
    functionName: jupyter_server.gateway.managers.ChannelQueue.start
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 638
    functionName: jupyter_server.gateway.managers.ChannelQueue.stop
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - queue.Queue.empty
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.len
    - queue.Queue.qsize
    - msgs.append
    - queue.Queue.get_nowait
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: queue.Queue.empty
    functionSourceFile: queue
    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: queue.Queue.qsize
    functionSourceFile: queue
    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: queue.Queue.get_nowait
    functionSourceFile: queue
    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: 658
    functionName: jupyter_server.gateway.managers.ChannelQueue.is_alive
    functionSourceFile: jupyter_server.gateway.managers
    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
    - kernel_id
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 699
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7faf32ea1070>
    - <ast.Constant object at 0x7faf32ea1040>
    - <ast.Constant object at 0x7faf32e9efd0>
    - <ast.Constant object at 0x7faf32e9efa0>
    - <ast.Constant object at 0x7faf32e9ef70>
    argNames:
    - self
    - shell
    - iopub
    - stdin
    - hb
    - control
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 712
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.start_channels
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - threading.Thread
    - tornado.escape.url_escape
    - jupyter_server.utils.url_path_join
    - websocket.create_connection
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - s.strip
    - threading.Thread.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: websocket.create_connection
    functionSourceFile: websocket
    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: threading.Thread.start
    functionSourceFile: threading
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 747
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.stop_channels
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.super
    - threading.Thread.join
    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: 769
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.shell_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    - <builtin>.super
    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: 780
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.iopub_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    - <builtin>.super
    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: 791
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.stdin_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    - <builtin>.super
    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: 802
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.hb_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    - <builtin>.super
    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: 813
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.control_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    - <builtin>.super
    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: 1
    functionLinenumber: 823
    functionName: jupyter_server.gateway.managers.GatewayKernelClient._route_responses
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - tornado.escape.utf8
    - tornado.escape.json_decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.escape.utf8
    functionSourceFile: tornado
    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: jupyter_server.services.sessions
    functionSourceFile: jupyter_server.services.sessions
    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: jupyter_server.gateway.gateway_client
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - auth_header_key
    - auth_scheme
    - auth_token
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 41
    functionName: jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase.get_token
    functionSourceFile: jupyter_server.gateway.gateway_client
    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
    - auth_header_key
    - auth_scheme
    - auth_token
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 60
    functionName: jupyter_server.gateway.gateway_client.NoOpTokenRenewer.get_token
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: jupyter_server.gateway.gateway_client.GatewayClient
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.int
    - traitlets.default
    - traitlets.Type
    - traitlets.Float
    - traitlets.Unicode
    - traitlets.Bool
    - <builtin>.list
    - traitlets.observe
    - traitlets.Int
    - traitlets.validate
    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: 92
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._url_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 96
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._url_validate
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - TraitError
    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: 115
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._ws_url_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - traitlets.Unicode.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: traitlets.Unicode.lower
    functionSourceFile: traitlets
    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
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 122
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._ws_url_validate
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - TraitError
    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: 138
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._kernels_endpoint_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    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: 150
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._kernelspecs_endpoint_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    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: 165
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._kernelspecs_resource_endpoint_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    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: 181
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._connect_timeout_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.float
    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: 193
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._request_timeout_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.float
    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: 206
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._client_key_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    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: 219
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._client_cert_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    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: 232
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._ca_certs_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    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: 245
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._http_user_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    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: 258
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._http_pwd_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    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: 273
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._headers_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    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: 292
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._auth_header_key_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    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: 309
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._auth_token_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    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: 322
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._auth_scheme_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    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: 335
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._validate_cert_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.bool
    - <builtin>.str
    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: 353
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._allowed_envs_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    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: 377
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_interval_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.float
    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: 395
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_interval_max_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.float
    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: 413
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_max_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.int
    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: 427
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._gateway_token_renewer_class_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    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: 443
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._launch_timeout_pad_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.float
    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: 462
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._accept_cookies_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.bool
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 475
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._deprecated_trait
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    - <builtin>.getattr
    - traitlets.config.SingletonConfigurable.log.warning
    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: 498
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.gateway_enabled
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - <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
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 508
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.__init__
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - traitlets.Type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 517
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.init_connection_args
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 1
    functionsReached:
    - <builtin>.float
    - <builtin>.int
    - json.loads
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 554
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.load_connection_args
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.str
    - traitlets.config.SingletonConfigurable._cookies.pop
    - given_value.update
    - datetime.datetime.now
    - json.loads
    - header_key.lower
    - traitlets.config.SingletonConfigurable.log.error
    - <builtin>.int
    - headers.get
    - jupyter_server.gateway.gateway_client.GatewayClient._update_cookie_header
    - expired_timedelta.total_seconds
    - jupyter_server.gateway.gateway_client.GatewayClient.init_connection_args
    - morsel.get
    - <builtin>.isinstance
    - jupyter_server.gateway.gateway_client.GatewayClient._clear_expired_cookies
    - expired_keys.append
    - connection_args.get
    - <builtin>.next
    - kwargs.setdefault
    - <builtin>.float
    - traitlets.config.SingletonConfigurable._cookies.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: traitlets.config.SingletonConfigurable.log.error
    functionSourceFile: traitlets
    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: given_value.update
    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
    - connection_args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 625
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._update_cookie_header
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 1
    functionsReached:
    - connection_args.get
    - <builtin>.next
    - headers.get
    - morsel.get
    - traitlets.config.SingletonConfigurable._cookies.pop
    - expired_keys.append
    - expired_timedelta.total_seconds
    - datetime.datetime.now
    - <builtin>.float
    - traitlets.config.SingletonConfigurable._cookies.items
    - jupyter_server.gateway.gateway_client.GatewayClient._clear_expired_cookies
    - header_key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cookie
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 594
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.update_cookies
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - email.utils.parsedate_to_datetime
    - <builtin>.str
    - email.utils.parsedate_to_datetime.total_seconds
    - cookie.items
    - datetime.datetime.now
    - item.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: cookie.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: item.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: email.utils.parsedate_to_datetime
    functionSourceFile: email
    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: email.utils.parsedate_to_datetime.total_seconds
    functionSourceFile: email
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 609
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._clear_expired_cookies
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 2
    functionsReached:
    - traitlets.config.SingletonConfigurable._cookies.pop
    - expired_keys.append
    - expired_timedelta.total_seconds
    - datetime.datetime.now
    - <builtin>.float
    - traitlets.config.SingletonConfigurable._cookies.items
    - morsel.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: traitlets.config.SingletonConfigurable._cookies.items
    functionSourceFile: traitlets
    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: morsel.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: expired_timedelta.total_seconds
    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: expired_keys.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.SingletonConfigurable._cookies.pop
    functionSourceFile: traitlets
    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: connection_args.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: header_key.lower
    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>.next
    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: headers.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: 1
    functionLinenumber: -1
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - <builtin>.max
    - <builtin>.min
    - os.getenv
    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: 667
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 13
    functionsReached:
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - endpoint
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 672
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 13
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - logging.getLogger
    - asyncio.sleep
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - <builtin>.repr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - endpoint
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 680
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 14
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - logging.getLogger
    - asyncio.sleep
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - <builtin>.repr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - method
    - exception
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 698
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 15
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.any
    - asyncio.sleep
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error_payload.get
    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: e.response.body.decode
    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: response.headers.get
    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: http.cookies.SimpleCookie
    functionSourceFile: http
    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: cookie.load
    functionSourceFile: <builtin>
    functionUses: 13
    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: jupyter_server.auth.security
    functionSourceFile: jupyter_server.auth.security
    functionUses: 0
    functionsReached:
    - contextlib.contextmanager
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf341632b0>
    - <ast.Constant object at 0x7faf34163280>
    argNames:
    - passphrase
    - algorithm
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: jupyter_server.auth.security.passwd
    functionSourceFile: jupyter_server.auth.security
    functionUses: 5
    functionsReached:
    - random.getrandbits
    - h.hexdigest
    - ph.hash
    - salt.encode
    - getpass.getpass.encode
    - warnings.warn
    - h.update
    - <builtin>.str
    - <builtin>.range
    - argon2.PasswordHasher
    - getpass.getpass
    - hashlib.new
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: argon2.PasswordHasher
    functionSourceFile: argon2
    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: ph.hash
    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.new
    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: random.getrandbits
    functionSourceFile: random
    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: getpass.getpass.encode
    functionSourceFile: getpass
    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: salt.encode
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - hashed_passphrase
    - passphrase
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: jupyter_server.auth.security.passwd_check
    functionSourceFile: jupyter_server.auth.security
    functionUses: 0
    functionsReached:
    - h.hexdigest
    - hashed_passphrase.startswith
    - salt.encode
    - ph.verify
    - <builtin>.len
    - h.update
    - passphrase.encode
    - argon2.PasswordHasher
    - hashed_passphrase.split
    - hashlib.new
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashed_passphrase.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: ph.verify
    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: hashed_passphrase.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: passphrase.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf333fc340>
    - <ast.Constant object at 0x7faf333fc7f0>
    argNames:
    - config_file
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 137
    functionName: jupyter_server.auth.security.persist_config
    functionSourceFile: jupyter_server.auth.security
    functionUses: 4
    functionsReached:
    - traceback.format_exc
    - os.path.basename
    - os.path.join
    - warnings.warn
    - os.makedirs
    - traitlets.config.JSONFileConfigLoader
    - f.write
    - jupyter_core.paths.jupyter_config_dir
    - os.path.dirname
    - os.chmod
    - traitlets.config.Config
    - traitlets.config.JSONFileConfigLoader.load_config
    - json.dumps
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.JSONFileConfigLoader
    functionSourceFile: traitlets
    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: traitlets.config.JSONFileConfigLoader.load_config
    functionSourceFile: traitlets
    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: traceback.format_exc
    functionSourceFile: traceback
    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: jupyter_server.gateway
    functionSourceFile: jupyter_server.gateway
    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: jupyter_server.services.contents.largefilemanager
    functionSourceFile: jupyter_server.services.contents.largefilemanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 9
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf34a49850>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 16
    functionName: jupyter_server.services.contents.largefilemanager.LargeFileManager.save
    functionSourceFile: jupyter_server.services.contents.largefilemanager
    functionUses: 0
    functionsReached:
    - os.path.split
    - <builtin>.len
    - warnings.warn
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.path_to_invalid
    - f.write
    - nbformat.read
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - os.path.islink
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hook
    - functools.partial
    - traitlets.config.Configurable.log.info
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - model.update
    - nbformat.validate
    - validation_error.get
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - path.rsplit
    - model.get
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - os_path.strip
    - jupyter_core.paths.is_file_hidden
    - f.read
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - base64.encodebytes
    - mimetypes.guess_type
    - stat.S_ISREG
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - bcontent.decode
    - <builtin>.any
    - base64.b64decode
    - os_path.startswith
    - os.readlink
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - traitlets.Any
    - jupyter_server.services.contents.largefilemanager.LargeFileManager._save_large_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.replace_file
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - traitlets.config.Configurable.log.error
    - anyio.to_thread.run_sync
    - <builtin>.super
    - path.strip
    - json.dumps
    - os.listdir
    - os.lstat
    - stat.S_ISDIR
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - datetime.datetime
    - traitlets.Instance.check_signature
    - content.encode
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os.access
    - os.path.normpath
    - os.path.dirname
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.isdir
    - path.endswith
    - os.path.abspath
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - traitlets.config.Configurable.log.debug
    - traitlets.config.Configurable.log.warning
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os.replace
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - <builtin>.isinstance
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - content
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 62
    functionName: jupyter_server.services.contents.largefilemanager.LargeFileManager._save_large_file
    functionSourceFile: jupyter_server.services.contents.largefilemanager
    functionUses: 1
    functionsReached:
    - os.readlink
    - os.path.join
    - typing.NewType
    - <builtin>.len
    - base64.b64decode
    - os.path.dirname
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - <builtin>.open
    - f.write
    - os.path.islink
    - os_path.strip
    - os_path.startswith
    - content.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base64.b64decode
    functionSourceFile: base64
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - content
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 135
    functionName: jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    functionSourceFile: jupyter_server.services.contents.largefilemanager
    functionUses: 8
    functionsReached:
    - anyio.to_thread.run_sync
    - os.readlink
    - nbformat.v4.new_notebook.encode
    - typing.NewType
    - <builtin>.len
    - os.path.join
    - base64.b64decode
    - os.path.dirname
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - os.path.islink
    - os_path.strip
    - os_path.startswith
    - <builtin>.open
    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: jupyter_server.auth.utils
    functionSourceFile: jupyter_server.auth.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: jupyter_server.auth.utils.warn_disabled_authorization
    functionSourceFile: jupyter_server.auth.utils
    functionUses: 0
    functionsReached:
    - warnings.warn
    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: 1
    functionLinenumber: 32
    functionName: jupyter_server.auth.utils.get_regex_to_resource_map
    functionSourceFile: jupyter_server.auth.utils
    functionUses: 1
    functionsReached:
    - modules.extend
    - importlib.import_module
    - JUPYTER_SERVICE_HANDLERS.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: JUPYTER_SERVICE_HANDLERS.values
    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: modules.extend
    functionSourceFile: <builtin>
    functionUses: 2
    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 0x7faf359ceac0>
    argNames:
    - url
    - regex_mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 64
    functionName: jupyter_server.auth.utils.match_url_to_resource
    functionSourceFile: jupyter_server.auth.utils
    functionUses: 0
    functionsReached:
    - re.compile
    - pattern.fullmatch
    - jupyter_server.auth.utils.get_regex_to_resource_map
    - regex_mapping.items
    - JUPYTER_SERVICE_HANDLERS.values
    - modules.extend
    - importlib.import_module
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_mapping.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: pattern.fullmatch
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.__main__
    functionSourceFile: jupyter_server.__main__
    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: jupyter_server.pytest_plugin
    functionSourceFile: jupyter_server.pytest_plugin
    functionUses: 0
    functionsReached:
    - pytest.fixture
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pytest.fixture
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - jp_data_dir
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: jupyter_server.pytest_plugin.jp_kernelspecs
    functionSourceFile: jupyter_server.pytest_plugin
    functionUses: 0
    functionsReached:
    - sample_kernel_resources.write_text
    - jp_data_dir.joinpath
    - sample_kernel_dir.mkdir
    - sample_kernel_file.write_text
    - sample_kernel_dir.joinpath
    - json.dumps
    - sample_kernel_json.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jp_data_dir.joinpath
    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: sample_kernel_dir.mkdir
    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: sample_kernel_dir.joinpath
    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: sample_kernel_json.copy
    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: sample_kernel_file.write_text
    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: sample_kernel_resources.write_text
    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:
    - request
    - tmp_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 39
    functionName: jupyter_server.pytest_plugin.jp_contents_manager
    functionSourceFile: jupyter_server.pytest_plugin
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - traitlets.config.configurable.LoggingConfigurable.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - tmp_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 45
    functionName: jupyter_server.pytest_plugin.jp_large_contents_manager
    functionSourceFile: jupyter_server.pytest_plugin
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - traitlets.config.configurable.LoggingConfigurable.__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: jupyter_server.nbconvert
    functionSourceFile: jupyter_server.nbconvert
    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: jupyter_server.nbconvert.handlers
    functionSourceFile: jupyter_server.nbconvert.handlers
    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:
    - output_files_dir
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 29
    functionName: jupyter_server.nbconvert.handlers.find_resource_files
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - os.path.join
    - os.walk
    - files.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: os.walk
    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: files.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 8
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - handler
    - name
    - output
    - resources
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 37
    functionName: jupyter_server.nbconvert.handlers.respond_zip
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 4
    functionsReached:
    - buffer.getvalue
    - output_files.items
    - os.path.splitext
    - os.path.basename
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - zipfile.ZipFile
    - io.BytesIO
    - path.split
    - tornado.web.RequestHandler.set_header
    - urllib.parse.quote
    - resources.get
    - tornado.web.RequestHandler.finish
    - output.encode
    - jupyter_server.utils.url_escape
    - zipf.writestr
    - zipf.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resources.get
    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: io.BytesIO
    functionSourceFile: io
    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: zipfile.ZipFile
    functionSourceFile: zipfile
    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: output.encode
    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: zipf.writestr
    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: output_files.items
    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: zipf.close
    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: buffer.getvalue
    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: tornado.web.RequestHandler.finish
    functionSourceFile: tornado
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - format
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 67
    functionName: jupyter_server.nbconvert.handlers.get_exporter
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 4
    functionsReached:
    - tornado.log.app_log.exception
    - nbconvert.exporters.base.get_exporter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nbconvert.exporters.base.get_exporter
    functionSourceFile: nbconvert
    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: tornado.log.app_log.exception
    functionSourceFile: tornado
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.nbconvert.handlers.NbconvertFileHandler
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <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: 1
    functionLinenumber: -1
    functionName: jupyter_server.nbconvert.handlers.NbconvertFileHandler.get.<lambda1>
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - exporter.from_notebook_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: exporter.from_notebook_node
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.nbconvert.handlers.NbconvertPostHandler
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <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: 1
    functionLinenumber: -1
    functionName: jupyter_server.nbconvert.handlers.NbconvertPostHandler.post.<lambda1>
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - exporter.from_notebook_node
    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: jupyter_server.terminal.api_handlers
    functionSourceFile: jupyter_server.terminal.api_handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.terminal
    functionSourceFile: jupyter_server.terminal
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - webapp
    - root_dir
    - connection_url
    - settings
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 16
    functionName: jupyter_server.terminal.initialize
    functionSourceFile: jupyter_server.terminal
    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: jupyter_server.terminal.handlers
    functionSourceFile: jupyter_server.terminal.handlers
    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: jupyter_server.terminal.terminalmanager
    functionSourceFile: jupyter_server.terminal.terminalmanager
    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: jupyter_server.gateway.handlers
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - os.getenv
    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 0x7faf34f64ac0>
    argNames:
    - self
    - origin
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 36
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.check_origin
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.check_origin
    - <builtin>.bool
    - re.match
    - urllib.parse.urlparse
    - origin.lower
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    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: 40
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.set_default_headers
    functionSourceFile: jupyter_server.gateway.handlers
    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: 44
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.get_compression_options
    functionSourceFile: jupyter_server.gateway.handlers
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 49
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.authenticate
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.get_argument
    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: 6
    functionLinenumber: 66
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.initialize
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - jupyter_client.session.utcnow
    - jupyter_client.session.json_packer
    - <builtin>.len
    - warnings.warn
    - jupyter_client.jsonutil.json_clean
    - <builtin>.str
    - math.isinf
    - obj.items
    - datetime.datetime.utcnow
    - json.loads
    - traitlets.utils.importstring.import_item
    - <builtin>.int
    - <builtin>.set
    - jupyter_client.session.Session.__init__
    - obj.strftime
    - <builtin>.float
    - jupyter_server.gateway.handlers.GatewayWebSocketClient.__init__
    - s.decode
    - pickle.dumps
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session._check_packers
    - os.getpid
    - jupyter_client.session.pickle_packer
    - pickle.loads
    - traitlets.log.get_logger.warning
    - obj.isoformat
    - <builtin>.map
    - <builtin>.super
    - <builtin>.type
    - <builtin>.list
    - jupyter_client.session.Session._new_auth
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - jupyter_client.session.json_unpacker
    - json.dumps
    - <builtin>.hasattr
    - hmac.HMAC
    - jupyter_client.session.Session._check_packers.<lambda2>
    - tornado.concurrent.Future
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_client.jsonutil.squash_dates
    - math.isnan
    - <builtin>.repr
    - binascii.b2a_base64
    - <builtin>.isinstance
    - traitlets.log.get_logger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 151
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient.__init__
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - tornado.concurrent.Future
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 72
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.get
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.handlers.WebSocketChannelsHandler.authenticate
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.send_ping
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - tornado.ioloop.PeriodicCallback.stop
    - tornado.websocket.WebSocketHandler.ping
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.websocket.WebSocketHandler.ping
    functionSourceFile: tornado
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 87
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.open
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.handlers.WebSocketChannelsHandler.get_compression_options
    - loop.spawn_callback
    - tornado.ioloop.PeriodicCallback.start
    - tornado.ioloop.PeriodicCallback
    - jupyter_server.gateway.handlers.GatewayWebSocketClient.on_open
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - message_callback
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 252
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient.on_open
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - loop.spawn_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 99
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.on_message
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message
    - loop.add_future
    - tornado.ioloop.IOLoop.current
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 257
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - loop.add_future
    - tornado.ioloop.IOLoop.current
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message
    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 0x7faf3329d5b0>
    argNames:
    - self
    - message
    - binary
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 104
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.write_message
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - tornado.escape.utf8
    - tornado.escape.json_decode
    - jupyter_server.gateway.handlers.WebSocketChannelsHandler._get_message_summary
    - <builtin>.super
    - summary.append
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - message
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 126
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler._get_message_summary
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - summary.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 118
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.on_close
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._disconnect
    - <builtin>.super
    - typing.cast.done
    - typing.cast.cancel
    - jupyter_server.gateway.handlers.GatewayWebSocketClient.on_close
    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: 273
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient.on_close
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - typing.cast.done
    - typing.cast.cancel
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._disconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: summary.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - message_callback
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 160
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._connect
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - tornado.websocket.websocket_connect
    - tornado.escape.url_escape
    - jupyter_server.utils.url_path_join
    - loop.add_future
    - traitlets.config.SingletonConfigurable.instance
    - s.strip
    - typing.cast
    - tornado.httpclient.HTTPRequest
    - typing.cast.add_done_callback
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.websocket.websocket_connect
    functionSourceFile: tornado
    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: typing.cast.add_done_callback
    functionSourceFile: typing
    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: jupyter_server.gateway.handlers.GatewayWebSocketClient._connect.<lambda1>
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._read_messages
    - random.randint
    - traitlets.config.SingletonConfigurable.instance
    - asyncio.sleep
    - loop.spawn_callback
    - <builtin>.min
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 209
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._read_messages
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - random.randint
    - traitlets.config.SingletonConfigurable.instance
    - loop.spawn_callback
    - asyncio.sleep
    - <builtin>.min
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.add_future
    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
    - fut
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 182
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._connection_done
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - traitlets.config.SingletonConfigurable.instance
    - fut.exception
    - fut.result
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fut.exception
    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: fut.result
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    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: 1
    functionLinenumber: 198
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._disconnect
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 2
    functionsReached:
    - typing.cast.done
    - typing.cast.cancel
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.done
    functionSourceFile: typing
    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: typing.cast.cancel
    functionSourceFile: typing
    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: loop.spawn_callback
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message.<lambda1>
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 265
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message
    functionSourceFile: ''
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.gateway.handlers.GatewayResourceHandler
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    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 0x7faf34baf8b0>
    argNames:
    - self
    - kernel_name
    - path
    - include_body
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 282
    functionName: jupyter_server.gateway.handlers.GatewayResourceHandler.get
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - kwargs.pop
    - mimetypes.guess_type
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - dt.replace
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.kernelspecs
    functionSourceFile: jupyter_server.services.kernelspecs
    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: jupyter_server.services.kernels.handlers
    functionSourceFile: jupyter_server.services.kernels.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.handlers.MainKernelHandler
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.handlers.KernelHandler
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.handlers.KernelActionHandler
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <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: traceback.format_tb
    functionSourceFile: traceback
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.kernelspecs.handlers
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - handler
    - name
    - spec_dict
    - resource_dir
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 24
    functionName: jupyter_server.services.kernelspecs.handlers.kernelspec_model
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 4
    functionsReached:
    - jupyter_server.utils.url_path_join
    - os.path.splitext
    - glob.glob
    - os.path.exists
    - os.path.join
    - os.path.basename
    - s.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - spec_dict
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: jupyter_server.services.kernelspecs.handlers.is_kernelspec_model
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 4
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <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: kspecs.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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernelspecs.handlers.KernelSpecHandler
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <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: jupyter_server.kernelspecs
    functionSourceFile: jupyter_server.kernelspecs
    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: jupyter_server.kernelspecs.handlers
    functionSourceFile: jupyter_server.kernelspecs.handlers
    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: 19
    functionName: jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.initialize
    functionSourceFile: jupyter_server.kernelspecs.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.StaticFileHandler.initialize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.StaticFileHandler.initialize
    functionSourceFile: tornado
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler
    functionSourceFile: jupyter_server.kernelspecs.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <builtin>.callable
    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: jupyter_server.extension.application
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - application_klass
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 25
    functionName: jupyter_server.extension.application._preparse_for_subcommand
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - re.match
    - <builtin>.len
    - jupyter_core.application.JupyterApp.__init__
    - app.initialize_subcommand
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.__init__
    functionSourceFile: ''
    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: app.initialize_subcommand
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - application_klass
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: jupyter_server.extension.application._preparse_for_stopping_flags
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - jupyter_core.application.JupyterApp.__init__
    - app.exit
    - <builtin>.any
    - app.print_help
    - app.write_default_config
    - app.print_version
    - argv.index
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: argv.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: app.print_help
    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: app.exit
    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: app.print_version
    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: app.write_default_config
    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: jupyter_server.extension.application.ExtensionAppJinjaMixin
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - traitlets.Dict
    - typing.no_type_check
    - traitlets.Dict.tag
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Dict.tag
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 90
    functionName: jupyter_server.extension.application.ExtensionAppJinjaMixin._prepare_templates
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jinja2.Environment
    - <builtin>.len
    - traitlets.HasTraits.settings.update
    - traitlets.HasTraits.initialize_templates
    - jinja2.FileSystemLoader
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.HasTraits.initialize_templates
    functionSourceFile: traitlets
    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: traitlets.HasTraits.settings.update
    functionSourceFile: traitlets
    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: jupyter_server.extension.application.ExtensionApp
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - traitlets.List.tag
    - traitlets.default
    - traitlets.List
    - traitlets.Dict
    - traitlets.Unicode.tag
    - traitlets.Unicode
    - traitlets.Bool
    - traitlets.Dict.tag
    - traitlets.Bool.tag
    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: 160
    functionName: jupyter_server.extension.application.ExtensionApp._default_open_browser
    functionSourceFile: jupyter_server.extension.application
    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: 164
    functionName: jupyter_server.extension.application.ExtensionApp.config_file_paths
    functionSourceFile: jupyter_server.extension.application
    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:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 176
    functionName: jupyter_server.extension.application.ExtensionApp.get_extension_package
    functionSourceFile: jupyter_server.extension.application
    functionUses: 2
    functionsReached:
    - jupyter_server.utils.is_namespace_package
    - <builtin>.isinstance
    - jupyter_core.application.JupyterApp.__module__.split
    - importlib.util.find_spec
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.__module__.split
    functionSourceFile: jupyter_core
    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:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 185
    functionName: jupyter_server.extension.application.ExtensionApp.get_extension_point
    functionSourceFile: jupyter_server.extension.application
    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: 195
    functionName: jupyter_server.extension.application.ExtensionApp._default_url
    functionSourceFile: jupyter_server.extension.application
    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: 212
    functionName: jupyter_server.extension.application.ExtensionApp._default_serverapp
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.__init__
    - jupyter_core.application.JupyterApp.instance
    - jupyter_core.application.JupyterApp.initialized
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.initialized
    functionSourceFile: jupyter_core
    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: jupyter_core.application.JupyterApp.instance
    functionSourceFile: jupyter_core
    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: 228
    functionName: jupyter_server.extension.application.ExtensionApp._default_log_level
    functionSourceFile: jupyter_server.extension.application
    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: 232
    functionName: jupyter_server.extension.application.ExtensionApp._default_log_format
    functionSourceFile: jupyter_server.extension.application
    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: 243
    functionName: jupyter_server.extension.application.ExtensionApp._default_static_url_prefix
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - s.strip
    - jupyter_server.utils.url_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: traitlets.List.tag
    functionSourceFile: traitlets
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 269
    functionName: jupyter_server.extension.application.ExtensionApp._config_file_name_default
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.name.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: jupyter_core.application.JupyterApp.name.replace
    functionSourceFile: jupyter_core
    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: 275
    functionName: jupyter_server.extension.application.ExtensionApp.initialize_settings
    functionSourceFile: jupyter_server.extension.application
    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: 279
    functionName: jupyter_server.extension.application.ExtensionApp.initialize_handlers
    functionSourceFile: jupyter_server.extension.application
    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: 283
    functionName: jupyter_server.extension.application.ExtensionApp.initialize_templates
    functionSourceFile: jupyter_server.extension.application
    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: 287
    functionName: jupyter_server.extension.application.ExtensionApp._prepare_config
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - jupyter_core.application.JupyterApp.class_own_traits
    - traitlets.config.Config
    - <builtin>.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: jupyter_core.application.JupyterApp.class_own_traits
    functionSourceFile: jupyter_core
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 295
    functionName: jupyter_server.extension.application.ExtensionApp._prepare_settings
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - jupyter_server.extension.application.ExtensionApp.initialize_settings
    - traitlets.Any.web_app.settings.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: traitlets.Any.web_app.settings.update
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 315
    functionName: jupyter_server.extension.application.ExtensionApp._prepare_handlers
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - kwargs.update
    - jupyter_server.utils.url_path_join
    - traitlets.Any.web_app.add_handlers
    - <builtin>.len
    - jupyter_server.extension.application.ExtensionApp.initialize_handlers
    - new_handlers.append
    - s.strip
    - <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: traitlets.Any.web_app.add_handlers
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 357
    functionName: jupyter_server.extension.application.ExtensionApp._prepare_templates
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - jupyter_server.extension.application.ExtensionApp.initialize_templates
    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: 363
    functionName: jupyter_server.extension.application.ExtensionApp._jupyter_server_config
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 375
    functionName: jupyter_server.extension.application.ExtensionApp._link_jupyter_server_extension
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - traitlets.Any.update_config
    - jupyter_core.application.JupyterApp.parse_command_line
    - jupyter_core.application.JupyterApp.load_config_file
    - jupyter_core.application.JupyterApp.update_config
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.load_config_file
    functionSourceFile: jupyter_core
    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: jupyter_core.application.JupyterApp.parse_command_line
    functionSourceFile: jupyter_core
    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: traitlets.Any.update_config
    functionSourceFile: traitlets
    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: 3
    functionLinenumber: 409
    functionName: jupyter_server.extension.application.ExtensionApp.initialize
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - kwargs.update
    - jupyter_server.extension.application.ExtensionApp.initialize_settings
    - jupyter_server.extension.application.ExtensionApp._prepare_config
    - jupyter_server.utils.url_path_join
    - traitlets.Any.web_app.add_handlers
    - <builtin>.len
    - jupyter_server.extension.application.ExtensionApp._prepare_templates
    - jupyter_server.extension.application.ExtensionApp.initialize_templates
    - jupyter_server.extension.application.ExtensionApp._prepare_settings
    - jupyter_server.extension.application.ExtensionApp._prepare_handlers
    - jupyter_server.extension.application.ExtensionApp.initialize_handlers
    - new_handlers.append
    - traitlets.config.Config
    - <builtin>.getattr
    - s.strip
    - traitlets.Any.web_app.settings.update
    - jupyter_core.application.JupyterApp.class_own_traits
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised:
    - JupyterServerExtensionException
    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: 432
    functionName: jupyter_server.extension.application.ExtensionApp.start
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - traitlets.Any.start
    - <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: traitlets.Any.start
    functionSourceFile: traitlets
    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: 441
    functionName: jupyter_server.extension.application.ExtensionApp.current_activity
    functionSourceFile: jupyter_server.extension.application
    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: 445
    functionName: jupyter_server.extension.application.ExtensionApp.stop_extension
    functionSourceFile: jupyter_server.extension.application
    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: 448
    functionName: jupyter_server.extension.application.ExtensionApp.stop
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - traitlets.Any.stop
    - traitlets.Any.clear_instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Any.stop
    functionSourceFile: traitlets
    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: traitlets.Any.clear_instance
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 454
    functionName: jupyter_server.extension.application.ExtensionApp._load_jupyter_server_extension
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.__init__
    - extension._link_jupyter_server_extension
    - extension.initialize
    linkageType: pythonLinkage
    raised: []
    returnType: N/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._link_jupyter_server_extension
    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: extension.initialize
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 470
    functionName: jupyter_server.extension.application.ExtensionApp.load_classic_server_extension
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.__init__
    - extension.parse_command_line
    - extension.load_config_file
    - extension.update_config
    - extension.handlers.extend
    - extension.initialize
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.load_config_file
    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: extension.update_config
    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: extension.parse_command_line
    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: extension.handlers.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: 2
    argDefaultValues: []
    argNames:
    - cls
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 553
    functionName: jupyter_server.extension.application.ExtensionApp.make_serverapp
    functionSourceFile: jupyter_server.extension.application
    functionUses: 2
    functionsReached:
    - jupyter_core.application.JupyterApp.instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf33de0340>
    - <ast.Constant object at 0x7faf33de0310>
    argNames:
    - cls
    - argv
    - load_other_extensions
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 561
    functionName: jupyter_server.extension.application.ExtensionApp.initialize_server
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - jupyter_server.utils.is_namespace_package
    - jupyter_server.extension.application.ExtensionApp.get_extension_package
    - jpserver_extensions.update
    - jupyter_core.application.JupyterApp.__module__.split
    - importlib.util.find_spec
    - <builtin>.isinstance
    - jupyter_core.application.JupyterApp.instance
    - serverapp.initialize
    - jupyter_server.extension.application.ExtensionApp.make_serverapp
    - serverapp.aliases.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: jpserver_extensions.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: serverapp.aliases.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: serverapp.initialize
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf35c3f430>
    argNames:
    - cls
    - argv
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 585
    functionName: jupyter_server.extension.application.ExtensionApp.launch_instance
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.is_namespace_package
    - serverapp.start
    - <builtin>.len
    - app.initialize_subcommand
    - serverapp.log.info
    - jupyter_core.application.JupyterApp.__module__.split
    - serverapp.initialize
    - jupyter_server.extension.application.ExtensionApp.make_serverapp
    - jpserver_extensions.update
    - app.exit
    - subapp.start
    - app.write_default_config
    - app.print_version
    - jupyter_core.application.JupyterApp.instance
    - jupyter_core.application.JupyterApp.__init__
    - jupyter_server.extension.application._preparse_for_stopping_flags
    - jupyter_server.extension.application._preparse_for_subcommand
    - <builtin>.any
    - importlib.util.find_spec
    - jupyter_server.extension.application.ExtensionApp.get_extension_package
    - re.match
    - app.print_help
    - <builtin>.isinstance
    - argv.index
    - jupyter_server.extension.application.ExtensionApp.initialize_server
    - serverapp.aliases.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: subapp.start
    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: serverapp.log.info
    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: serverapp.start
    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: jupyter_server.extension.handler
    functionSourceFile: jupyter_server.extension.handler
    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: jupyter_server.extension.handler.ExtensionHandlerJinjaMixin
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.no_type_check
    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: 15
    functionName: jupyter_server.extension.handler.ExtensionHandlerJinjaMixin.get_template
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 35
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.initialize
    functionSourceFile: jupyter_server.extension.handler
    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: 43
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.extensionapp
    functionSourceFile: jupyter_server.extension.handler
    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: 47
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.serverapp
    functionSourceFile: jupyter_server.extension.handler
    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: 52
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.log
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <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: 62
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.config
    functionSourceFile: jupyter_server.extension.handler
    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: 66
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.server_config
    functionSourceFile: jupyter_server.extension.handler
    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: 70
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.base_url
    functionSourceFile: jupyter_server.extension.handler
    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: 74
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.static_url_prefix
    functionSourceFile: jupyter_server.extension.handler
    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: 78
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.static_path
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf333fc970>
    argNames:
    - self
    - path
    - include_host
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 81
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.static_url
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised:
    - Exception
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jupyter_server.auth.__main__
    functionSourceFile: jupyter_server.auth.__main__
    functionUses: 0
    functionsReached:
    - parser_password.add_argument
    - jupyter_server.auth.__main__.main
    - parser.add_subparsers
    - argparse.ArgumentParser
    - subparsers.add_parser
    - parser_password.set_defaults
    - parser.parse_args
    - args.function
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - args
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 14
    functionName: jupyter_server.auth.__main__.set_password
    functionSourceFile: jupyter_server.auth.__main__
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - ph.hash
    - traitlets.log.get_logger.info
    - <builtin>.len
    - warnings.warn
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.__init__
    - os.makedirs
    - data.items
    - jupyter_core.paths.jupyter_config_dir
    - <builtin>.str
    - <builtin>.range
    - jupyter_server.auth.security.passwd
    - f.write
    - random.getrandbits
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - getpass.getpass.encode
    - h.update
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - copy.deepcopy
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - json.load
    - new.items
    - <builtin>.list
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - getpass.getpass
    - json.dumps
    - h.hexdigest
    - target.pop
    - salt.encode
    - glob.glob
    - os.path.join
    - os.path.isfile
    - jupyter_server.config_manager.remove_defaults
    - hashlib.new
    - argon2.PasswordHasher
    - <builtin>.isinstance
    - traitlets.log.get_logger
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.log.get_logger.info
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - argv
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: jupyter_server.auth.__main__.main
    functionSourceFile: jupyter_server.auth.__main__
    functionUses: 1
    functionsReached:
    - parser_password.add_argument
    - parser.add_subparsers
    - argparse.ArgumentParser
    - subparsers.add_parser
    - parser_password.set_defaults
    - parser.parse_args
    - args.function
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: argparse.ArgumentParser
    functionSourceFile: argparse
    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.add_subparsers
    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: subparsers.add_parser
    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_password.add_argument
    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_password.set_defaults
    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_args
    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.function
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.shutdown
    functionSourceFile: jupyter_server.services.shutdown
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.shutdown.ShutdownHandler
    functionSourceFile: jupyter_server.services.shutdown
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <builtin>.callable
    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: jupyter_server.services.config.handlers
    functionSourceFile: jupyter_server.services.config.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.config.handlers.ConfigHandler
    functionSourceFile: jupyter_server.services.config.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <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: jupyter_server.services.nbconvert
    functionSourceFile: jupyter_server.services.nbconvert
    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: jupyter_server.services.nbconvert.handlers
    functionSourceFile: jupyter_server.services.nbconvert.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.initialize
    functionSourceFile: jupyter_server.services.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - asyncio.Lock
    - <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: asyncio.Lock
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.nbconvert.handlers.NbconvertRootHandler
    functionSourceFile: jupyter_server.services.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <builtin>.callable
    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: jupyter_server.services.contents.handlers
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - model
    - expect_content
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 24
    functionName: jupyter_server.services.contents.handlers.validate_model
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 10
    functionsReached:
    - <builtin>.set
    - model.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: model.keys
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 75
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.location_url
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 11
    functionsReached:
    - jupyter_server.utils.url_path_join
    - path.split
    - urllib.parse.quote
    - s.strip
    - jupyter_server.utils.url_escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf341a05e0>
    argNames:
    - self
    - model
    - location
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 85
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 10
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server.utils.url_path_join
    - kwargs.pop
    - path.split
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - <builtin>.super
    - urllib.parse.quote
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server.utils.url_escape
    - s.strip
    - datetime.datetime.utcfromtimestamp
    - jupyter_server._tz.utc_aware.utc_method
    - dt.replace
    - json.dumps
    - datetime.datetime.utcnow
    linkageType: 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: -1
    functionName: jupyter_server.services.contents.handlers.ContentsHandler
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <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: tornado.web.RequestHandler.get_query_argument
    functionSourceFile: tornado
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7faf34f01250>
    argNames:
    - self
    - copy_from
    - copy_to
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 155
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._copy
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 3
    functionsReached:
    - urllib.parse.quote
    - s.strip
    - datetime.datetime.utcnow
    - dt.replace
    - jupyter_server._tz.utc_aware.utc_method
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - <builtin>.set
    - kwargs.pop
    - model.keys
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - jupyter_server.services.contents.handlers.validate_model
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.utils.url_escape
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - json.dumps
    - jupyter_server.utils.url_path_join
    - path.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 168
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._upload
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 3
    functionsReached:
    - urllib.parse.quote
    - s.strip
    - datetime.datetime.utcnow
    - dt.replace
    - jupyter_server._tz.utc_aware.utc_method
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - <builtin>.set
    - kwargs.pop
    - model.keys
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - jupyter_server.services.contents.handlers.validate_model
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.utils.url_escape
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - json.dumps
    - jupyter_server.utils.url_path_join
    - path.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7faf333fc940>
    - <ast.Constant object at 0x7faf333fc340>
    argNames:
    - self
    - path
    - type
    - ext
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 176
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._new_untitled
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 4
    functionsReached:
    - urllib.parse.quote
    - s.strip
    - datetime.datetime.utcnow
    - dt.replace
    - jupyter_server._tz.utc_aware.utc_method
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - <builtin>.set
    - kwargs.pop
    - model.keys
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - jupyter_server.services.contents.handlers.validate_model
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.utils.url_escape
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - json.dumps
    - jupyter_server.utils.url_path_join
    - path.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 186
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._save
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 3
    functionsReached:
    - model.get
    - urllib.parse.quote
    - s.strip
    - datetime.datetime.utcnow
    - dt.replace
    - jupyter_server._tz.utc_aware.utc_method
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - <builtin>.set
    - kwargs.pop
    - model.keys
    - tornado.web.RequestHandler.set_header
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.utils.url_escape
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - json.dumps
    - jupyter_server.utils.url_path_join
    - path.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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.contents.handlers.CheckpointsHandler
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.contents.handlers.ModifyCheckpointsHandler
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 345
    functionName: jupyter_server.services.contents.handlers.NotebooksRedirectHandler.get
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.url_path_join
    - path.split
    - tornado.web.RequestHandler.redirect
    - urllib.parse.quote
    - s.strip
    - jupyter_server.utils.url_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: 6
    functionLinenumber: -1
    functionName: jupyter_server.services.contents.handlers.TrustNotebooksHandler
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - os.path.split
    - jupyter_server.auth.decorator.authorized.wrapper.inner
    - output_files.items
    - jupyter_server.nbconvert.handlers.get_exporter
    - <builtin>.len
    - io.BytesIO
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - urllib.parse.quote
    - nbformat.from_dict
    - jupyter_server.utils.url_unescape
    - <builtin>.bool
    - jupyter_server.services.api.handlers.APISpecHandler.get
    - tornado.web.StaticFileHandler.get
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - tornado.log.app_log.warning
    - template.render
    - jupyter_server.services.config.handlers.ConfigHandler.get
    - jupyter_server.nbconvert.handlers.NbconvertFileHandler.get
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.handlers.ContentsHandler.put
    - jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.get
    - <builtin>.getattr
    - traceback.format_tb
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.services.contents.handlers.ContentsHandler.get
    - jupyter_server.services.contents.handlers.CheckpointsHandler.get
    - glob.glob
    - tornado.log.app_log.exception
    - tornado.web.RequestHandler.application.last_activity
    - jupyter_server.services.sessions.handlers.SessionHandler.patch
    - tornado.web.RequestHandler.finish
    - path.rsplit
    - model.setdefault
    - jupyter_server.services.kernelspecs.handlers.is_kernelspec_model
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - tornado.web.RequestHandler.request.body.decode
    - jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.delete
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - model.get
    - kspecs.items
    - json.loads
    - jupyter_server.services.security.handlers.CSPReportHandler.post
    - <builtin>.callable
    - path.lower
    - jupyter_server.view.handlers.ViewHandler.get
    - tornado.ioloop.IOLoop.current
    - model.keys
    - kwargs.pop
    - payload.get
    - tornado.web.RequestHandler.set_status
    - jupyter_server.utils.url_escape
    - jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    - asyncio.ensure_future
    - jupyter_server.services.kernels.handlers.KernelActionHandler.post
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.services.contents.handlers.ContentsHandler._new_untitled
    - <builtin>.hasattr
    - jupyter_server.services.kernels.handlers.MainKernelHandler.post
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.services.sessions.handlers.SessionRootHandler.post
    - nbconvert.exporters.base.get_exporter
    - dt.isoformat
    - jupyter_server.services.kernelspecs.handlers.KernelSpecHandler.get
    - os.path.splitext
    - buffer.getvalue
    - os.path.join
    - path.split
    - ns.update
    - jupyter_server.nbconvert.handlers.respond_zip
    - jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.get
    - datetime.datetime.utcnow
    - jupyter_server.nbconvert.handlers.NbconvertPostHandler.post
    - jupyter_server.services.api.handlers.APIStatusHandler.get
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - parts.remove
    - os.path.exists
    - tornado.web.RequestHandler.set_header
    - resources.get
    - jupyter_server.services.events.handlers.validate_model
    - jupyter_server.services.contents.handlers.ContentsHandler._upload
    - anyio.to_thread.run_sync
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server.services.contents.handlers.ContentsHandler._copy
    - os.path.basename
    - jupyter_server.services.contents.handlers.ContentsHandler.patch
    - jupyter_server.auth.decorator.authorized
    - tornado.web.RequestHandler.redirect
    - <builtin>.super
    - tornado.web.RequestHandler.request.body.strip
    - zipf.writestr
    - path.strip
    - jupyter_server.services.kernels.handlers.KernelHandler.delete
    - json.dumps
    - jupyter_server.services.kernelspecs.handlers.kernelspec_model
    - jupyter_server.services.config.handlers.ConfigHandler.patch
    - jupyter_server.utils.url_path_join
    - jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler.get
    - zipfile.ZipFile
    - datetime.datetime.strptime
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - functools.wraps
    - spec.to_dict
    - tornado.web.authenticated
    - jupyter_server.services.sessions.handlers.SessionRootHandler.get
    - urllib.parse.unquote
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - tornado.web.RequestHandler.get_query_argument
    - jupyter_server.services.shutdown.ShutdownHandler.post
    - jupyter_server.services.kernels.handlers.MainKernelHandler.get
    - tornado.web.RequestHandler.write
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - jupyter_server.services.contents.handlers.CheckpointsHandler.post
    - jupyter_server.services.config.handlers.ConfigHandler.put
    - s.strip
    - output.encode
    - jupyter_server._tz.utc_aware.utc_method
    - dt.replace
    - jupyter_server.services.events.handlers.get_timestamp
    - jupyter_server.services.contents.handlers.ContentsHandler.delete
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - jupyter_server.services.kernels.handlers.KernelHandler.get
    - jupyter_server.services.sessions.handlers.SessionHandler.delete
    - jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.head
    - <builtin>.int
    - <builtin>.set
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.get_argument
    - kernel.get
    - zipf.close
    - datetime.datetime.utcfromtimestamp
    - jupyter_server.services.contents.handlers.ContentsHandler._save
    - jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.post
    - jupyter_server.services.events.handlers.EventHandler.post
    - jupyter_server.services.contents.handlers.ContentsHandler.post
    - urllib.parse.urlparse
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.sum
    - jupyter_server._tz.isoformat
    - re.match
    - jupyter_server.services.sessions.handlers.SessionHandler.get
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf3426c430>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 358
    functionName: jupyter_server.services.contents.handlers.TrustNotebooksHandler.post
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.finish
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_status
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.events
    functionSourceFile: jupyter_server.services.events
    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: jupyter_server.services.events.handlers
    functionSourceFile: jupyter_server.services.events.handlers
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.pre_get
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.get
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.services.events.handlers.SubscribeWebsocket.pre_get
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - logger
    - schema_id
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 49
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.event_listener
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.write_message
    - json.dumps
    - <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: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.write_message
    functionSourceFile: tornado
    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: 0
    functionLinenumber: 54
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.open
    functionSourceFile: jupyter_server.services.events.handlers
    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: 0
    functionLinenumber: 60
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.on_close
    functionSourceFile: jupyter_server.services.events.handlers
    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:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 65
    functionName: jupyter_server.services.events.handlers.validate_model
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: jupyter_server.services.events.handlers.get_timestamp
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 3
    functionsReached:
    - datetime.datetime.strptime
    linkageType: 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: -1
    functionName: jupyter_server.services.events.handlers.EventHandler
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <builtin>.callable
    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: jupyter_server.services.security.handlers
    functionSourceFile: jupyter_server.services.security.handlers
    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: 20
    functionName: jupyter_server.services.security.handlers.CSPReportHandler.skip_check_origin
    functionSourceFile: jupyter_server.services.security.handlers
    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: 24
    functionName: jupyter_server.services.security.handlers.CSPReportHandler.check_xsrf_cookie
    functionSourceFile: jupyter_server.services.security.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.security.handlers.CSPReportHandler
    functionSourceFile: jupyter_server.services.security.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <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: tornado.web.RequestHandler.request.body.decode
    functionSourceFile: tornado
    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: jupyter_server.services.api
    functionSourceFile: jupyter_server.services.api
    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: jupyter_server.services.api.handlers
    functionSourceFile: jupyter_server.services.api.handlers
    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: 24
    functionName: jupyter_server.services.api.handlers.APISpecHandler.initialize
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    functionsReached:
    - os.path.dirname
    - tornado.web.StaticFileHandler.initialize
    linkageType: 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: -1
    functionName: jupyter_server.services.api.handlers.APISpecHandler
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <builtin>.callable
    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: 35
    functionName: jupyter_server.services.api.handlers.APISpecHandler.get_content_type
    functionSourceFile: jupyter_server.services.api.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.api.handlers.APIStatusHandler
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <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: tornado.web.RequestHandler.application.last_activity
    functionSourceFile: tornado
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.services.api.handlers.IdentityHandler
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 70
    functionName: jupyter_server.services.api.handlers.IdentityHandler.get
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.write
    - <builtin>.all
    - json.loads
    - tornado.web.RequestHandler.get_argument
    - allowed.append
    - permissions_to_check.items
    - <builtin>.isinstance
    - 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: permissions_to_check.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: allowed.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.sessions.handlers
    functionSourceFile: jupyter_server.services.sessions.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.sessions.handlers.SessionRootHandler
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <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: kernel.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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.sessions.handlers.SessionHandler
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <builtin>.callable
    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: jupyter_server.view
    functionSourceFile: jupyter_server.view
    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: jupyter_server.view.handlers
    functionSourceFile: jupyter_server.view.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.view.handlers.ViewHandler
    functionSourceFile: jupyter_server.view.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    - tornado.web.authenticated
    - <builtin>.callable
    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: jupyter_client.threaded
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - socket
    - session
    - loop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 35
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.__init__
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - threading.Event.wait
    - threading.Event
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 59
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.__init__.setup_stream
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - zmq.eventloop.zmqstream.ZMQStream
    - threading.Event.set
    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: 71
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.is_alive
    functionSourceFile: jupyter_client.threaded
    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: 75
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.start
    functionSourceFile: jupyter_client.threaded
    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: 79
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.stop
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 83
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.close
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - f.result
    - traitlets.log.get_logger
    - traitlets.log.get_logger.warning
    - concurrent.futures.Future
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 89
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.close.close_stream
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - f.set_result
    - f.set_exception
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.set_exception
    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: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 115
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.send
    functionSourceFile: jupyter_client.threaded
    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: 126
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.send.thread_send
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg_list
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 133
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel._handle_recv
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - jupyter_client.threaded.ThreadedZMQSocketChannel.call_handlers
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 147
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.call_handlers
    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: 0
    functionLinenumber: 157
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.process_events
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf34edb8b0>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 163
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.flush
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - <builtin>.range
    - time.time
    - time.sleep
    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: 190
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel._flush
    functionSourceFile: jupyter_client.threaded
    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: 203
    functionName: jupyter_client.threaded.IOLoopThread.__init__
    functionSourceFile: jupyter_client.threaded
    functionUses: 1
    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: 1
    functionLinenumber: -1
    functionName: jupyter_client.threaded.IOLoopThread
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - atexit.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 210
    functionName: jupyter_client.threaded.IOLoopThread._notice_exit
    functionSourceFile: jupyter_client.threaded
    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: 216
    functionName: jupyter_client.threaded.IOLoopThread.start
    functionSourceFile: jupyter_client.threaded
    functionUses: 1
    functionsReached:
    - threading.Event.wait
    - threading.Thread.start
    - threading.Event
    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: 2
    functionLinenumber: 226
    functionName: jupyter_client.threaded.IOLoopThread.run
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - asyncio.set_event_loop
    - loop.run_until_complete
    - asyncio.new_event_loop
    - asyncio.sleep
    - threading.Event.set
    - jupyter_client.threaded.IOLoopThread._async_run
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 232
    functionName: jupyter_client.threaded.IOLoopThread._async_run
    functionSourceFile: jupyter_client.threaded
    functionUses: 1
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - asyncio.sleep
    - threading.Event.set
    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: 241
    functionName: jupyter_client.threaded.IOLoopThread.stop
    functionSourceFile: jupyter_client.threaded
    functionUses: 1
    functionsReached:
    - jupyter_client.threaded.IOLoopThread.close
    - threading.Thread.join
    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: 0
    functionLinenumber: 256
    functionName: jupyter_client.threaded.IOLoopThread.close
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 253
    functionName: jupyter_client.threaded.IOLoopThread.__del__
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - jupyter_client.threaded.IOLoopThread.close
    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: 269
    functionName: jupyter_client.threaded.ThreadedKernelClient.ioloop
    functionSourceFile: jupyter_client.threaded
    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: jupyter_client.threaded.ThreadedKernelClient
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - traitlets.Type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7faf34e23640>
    - <ast.Constant object at 0x7faf34e23670>
    - <ast.Constant object at 0x7faf34e236a0>
    - <ast.Constant object at 0x7faf34e236d0>
    - <ast.Constant object at 0x7faf34e23700>
    argNames:
    - self
    - shell
    - iopub
    - stdin
    - hb
    - control
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 274
    functionName: jupyter_client.threaded.ThreadedKernelClient.start_channels
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - threading.Event.wait
    - jupyter_client.threaded.IOLoopThread.start
    - <builtin>.super
    - traitlets.Instance.start
    - jupyter_client.threaded.IOLoopThread.__init__
    - threading.Event
    - threading.Thread.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.start
    functionSourceFile: traitlets
    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:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 291
    functionName: jupyter_client.threaded.ThreadedKernelClient._check_kernel_info_reply
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - jupyter_client.client.KernelClient._handle_kernel_info_reply
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 297
    functionName: jupyter_client.threaded.ThreadedKernelClient.stop_channels
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - jupyter_client.threaded.IOLoopThread.stop
    - jupyter_client.threaded.IOLoopThread.close
    - traitlets.Instance.is_alive
    - threading.Thread.is_alive
    - <builtin>.super
    - threading.Thread.join
    - traitlets.Instance.stop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.stop
    functionSourceFile: traitlets
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 309
    functionName: jupyter_client.threaded.ThreadedKernelClient.is_alive
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.managers.HBChannelQueue.is_beating
    - traitlets.Any.is_beating
    - jupyter_server.gateway.managers.ChannelQueue.is_alive
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.consoleapp
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 0
    functionsReached:
    - app_flags.update
    - flags.update
    - traitlets.config.application.boolean_flag
    - aliases.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: app_flags.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: 1
    functionLinenumber: -1
    functionName: jupyter_client.consoleapp.JupyterConsoleApp
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 0
    functionsReached:
    - traitlets.List
    - traitlets.Dict
    - traitlets.CBool
    - traitlets.Unicode
    - traitlets.Type
    - traitlets.CUnicode
    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: 136
    functionName: jupyter_client.consoleapp.JupyterConsoleApp._connection_file_default
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 0
    functionsReached:
    - os.getpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.CBool
    functionSourceFile: traitlets
    functionUses: 1
    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 0x7faf34719f40>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 153
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.build_kernel_argv
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 160
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.init_connection_file
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 2
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.utils._expand_path
    - os.getcwd
    - os.path.isabs
    - info.get
    - jupyter_client.utils._filefind
    - traitlets.config.LoggingConfigurable.log.error
    - find_connection_file.strip
    - find_connection_file
    - jupyter_client.connect.ConnectionFileMixin.load_connection_file
    - s.replace
    - json.load
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - key.encode
    - os.path.basename
    - os.path.abspath
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - <builtin>.getattr
    - os.path.expanduser
    - os.path.expandvars
    - traitlets.config.LoggingConfigurable.log.critical
    - jupyter_client.localinterfaces.localhost
    - os.path.splitext
    - traitlets.config.LoggingConfigurable.exit
    - os.path.join
    - os.path.isfile
    - <builtin>.isinstance
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: find_connection_file
    functionSourceFile: find_connection_file
    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: traitlets.config.LoggingConfigurable.exit
    functionSourceFile: traitlets
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 10
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 218
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.init_ssh
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 2
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - traitlets.config.LoggingConfigurable.log.debug
    - sys.exit
    - traitlets.config.LoggingConfigurable.log.info
    - info.get
    - traitlets.config.LoggingConfigurable.log.error
    - os.path.exists
    - jupyter_client.connect.ConnectionFileMixin.load_connection_file
    - json.load
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - key.encode
    - os.path.basename
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - <builtin>.getattr
    - jupyter_client.localinterfaces.localhost
    - os.path.splitext
    - traitlets.config.LoggingConfigurable.exit
    - tunnel_to_kernel
    - <builtin>.isinstance
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tunnel_to_kernel
    functionSourceFile: tunnel_to_kernel
    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: 272
    functionName: jupyter_client.consoleapp.JupyterConsoleApp._new_connection_file
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 0
    functionsReached:
    - uuid.uuid4
    - os.path.join
    - os.path.exists
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 286
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_manager
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 2
    functionsReached:
    - atexit.register
    - signal.signal
    - traitlets.Type
    - traitlets.config.LoggingConfigurable.exit
    - typing.cast
    - traitlets.config.LoggingConfigurable.log.critical
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 336
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_client
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 2
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_client.client.KernelClient.start_channels
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf3627cb80>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 356
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.initialize
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 1
    functionsReached:
    - signal.signal
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.utils._expand_path
    - traitlets.config.LoggingConfigurable.__init__
    - sys.exit
    - jupyter_client.consoleapp.JupyterConsoleApp.init_connection_file
    - jupyter_client.client.KernelClient.start_channels
    - os.getcwd
    - traitlets.config.LoggingConfigurable.log.info
    - os.path.isabs
    - info.get
    - jupyter_client.utils._filefind
    - atexit.register
    - traitlets.config.LoggingConfigurable.log.error
    - os.path.exists
    - find_connection_file.strip
    - find_connection_file
    - jupyter_client.consoleapp.JupyterConsoleApp.init_ssh
    - jupyter_client.connect.ConnectionFileMixin.load_connection_file
    - s.replace
    - json.load
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - key.encode
    - os.path.basename
    - os.path.abspath
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - <builtin>.getattr
    - typing.cast
    - os.path.expanduser
    - os.path.expandvars
    - jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_manager
    - jupyter_client.localinterfaces.localhost
    - traitlets.config.LoggingConfigurable.log.critical
    - os.path.splitext
    - traitlets.config.LoggingConfigurable.exit
    - traitlets.Type
    - os.path.join
    - jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_client
    - os.path.isfile
    - tunnel_to_kernel
    - <builtin>.isinstance
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 372
    functionName: jupyter_client.consoleapp.IPythonConsoleApp.__init__
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 0
    functionsReached:
    - warnings.warn
    - <builtin>.super
    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: 1
    functionLinenumber: -1
    functionName: jupyter_client.kernelspecapp
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.config.application.Application.launch_instance
    linkageType: 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: jupyter_client.kernelspecapp.ListKernelSpecs
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - traitlets.Bool
    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: 40
    functionName: jupyter_client.kernelspecapp.ListKernelSpecs._kernel_spec_manager_default
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: jupyter_client.kernelspecapp.ListKernelSpecs.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - <builtin>.print
    - traitlets.Instance.find_kernel_specs
    - paths.items
    - <builtin>.len
    - kernelname.ljust
    - traitlets.Instance.get_all_specs
    - 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: traitlets.Instance.find_kernel_specs
    functionSourceFile: traitlets
    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: traitlets.Instance.get_all_specs
    functionSourceFile: traitlets
    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>.print
    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: 1
    functionLinenumber: -1
    functionName: jupyter_client.kernelspecapp.ListKernelSpecs.start.<lambda1>
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: jupyter_client.kernelspecapp.ListKernelSpecs.start.path_key
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - path.startswith
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.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: paths.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: kernelname.ljust
    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: jupyter_client.kernelspecapp.InstallKernelSpec
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    - aliases.update
    - traitlets.Instance
    - traitlets.Bool
    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: 88
    functionName: jupyter_client.kernelspecapp.InstallKernelSpec._kernel_spec_manager_default
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__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: 94
    functionName: jupyter_client.kernelspecapp.InstallKernelSpec._kernel_name_default
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - os.path.basename
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 136
    functionName: jupyter_client.kernelspecapp.InstallKernelSpec.parse_command_line
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.print
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 8
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 146
    functionName: jupyter_client.kernelspecapp.InstallKernelSpec.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.print
    - jupyter_core.application.JupyterApp.exit
    - traitlets.Instance.install_kernel_spec
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.install_kernel_spec
    functionSourceFile: traitlets
    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: jupyter_client.kernelspecapp.RemoveKernelSpec
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.List
    - traitlets.Unicode
    - traitlets.Bool
    - flags.update
    - traitlets.Instance
    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: 182
    functionName: jupyter_client.kernelspecapp.RemoveKernelSpec._kernel_spec_manager_default
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 190
    functionName: jupyter_client.kernelspecapp.RemoveKernelSpec.parse_command_line
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.set
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 8
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 199
    functionName: jupyter_client.kernelspecapp.RemoveKernelSpec.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.print
    - traitlets.Instance.find_kernel_specs
    - <builtin>.set
    - path.ljust
    - <builtin>.len
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.input
    - answer.lower
    - spec_paths.get
    - traitlets.Instance.remove_kernel_spec
    - traitlets.List.ljust
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: spec_paths.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: traitlets.List.ljust
    functionSourceFile: traitlets
    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: path.ljust
    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>.input
    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: answer.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: traitlets.Instance.remove_kernel_spec
    functionSourceFile: traitlets
    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: jupyter_client.kernelspecapp.InstallNativeKernelSpec
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - traitlets.Bool
    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: 236
    functionName: jupyter_client.kernelspecapp.InstallNativeKernelSpec._kernel_spec_manager_default
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 256
    functionName: jupyter_client.kernelspecapp.InstallNativeKernelSpec.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.warning
    - <builtin>.print
    - jupyter_core.application.JupyterApp.exit
    - ipykernel.kernelspec.install
    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: 287
    functionName: jupyter_client.kernelspecapp.ListProvisioners.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - <builtin>.print
    - name.ljust
    - kfp.get_provisioner_entries
    - <builtin>.len
    - traitlets.config.SingletonConfigurable.instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kfp.get_provisioner_entries
    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: jupyter_client.kernelspecapp.ListProvisioners.start.<lambda1>
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    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: name.ljust
    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: ListKernelSpecs.description.splitlines
    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: jupyter_client.kernelspecapp.KernelSpecApp
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.Dict
    - RemoveKernelSpec.description.splitlines
    - InstallNativeKernelSpec.description.splitlines
    - ListKernelSpecs.description.splitlines
    - ListProvisioners.description.splitlines
    - InstallKernelSpec.description.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: InstallKernelSpec.description.splitlines
    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: RemoveKernelSpec.description.splitlines
    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: InstallNativeKernelSpec.description.splitlines
    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: ListProvisioners.description.splitlines
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 329
    functionName: jupyter_client.kernelspecapp.KernelSpecApp.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.print
    - traitlets.config.application.Application.print_description
    - traitlets.config.application.Application.print_subcommands
    - <builtin>.list
    - traitlets.config.application.Application.exit
    - traitlets.config.application.Application.subapp.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.application.Application.print_description
    functionSourceFile: traitlets
    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: traitlets.config.application.Application.print_subcommands
    functionSourceFile: traitlets
    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: traitlets.config.application.Application.exit
    functionSourceFile: traitlets
    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: traitlets.config.application.Application.subapp.start
    functionSourceFile: traitlets
    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: traitlets.config.application.Application.launch_instance
    functionSourceFile: traitlets
    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: jupyter_client.kernelapp
    functionSourceFile: jupyter_client.kernelapp
    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: jupyter_client.kernelapp.KernelApp
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    - traitlets.Unicode.tag
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf352394f0>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 33
    functionName: jupyter_client.kernelapp.KernelApp.initialize
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - jupyter_client.manager.KernelManager.__init__
    - os.path.join
    - <builtin>.super
    - uuid.uuid4
    - jupyter_core.application.JupyterApp.config.setdefault
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.config.setdefault
    functionSourceFile: jupyter_core
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 46
    functionName: jupyter_client.kernelapp.KernelApp.setup_signals
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 1
    functionsReached:
    - signal.signal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - signo
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 51
    functionName: jupyter_client.kernelapp.KernelApp.setup_signals.shutdown_handler
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - signo
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: jupyter_client.kernelapp.KernelApp.shutdown
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - jupyter_core.utils.run_sync
    - jupyter_core.application.JupyterApp.log.info
    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: 63
    functionName: jupyter_client.kernelapp.KernelApp.log_connection_info
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 1
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - os.path.basename
    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: 69
    functionName: jupyter_client.kernelapp.KernelApp._record_started
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 7
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 79
    functionName: jupyter_client.kernelapp.KernelApp.start
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - jupyter_client.kernelapp.KernelApp.setup_signals
    - os.path.basename
    - signal.signal
    - jupyter_client.kernelapp.KernelApp.log_connection_info
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_core.utils.run_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.runapp
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - aliases.update
    - frontend_aliases_dict.keys
    - frontend_flags_dict.keys
    - flags.update
    - jupyter_core.application.JupyterApp.launch_instance
    - <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: 0
    functionLinenumber: -1
    functionName: frontend_aliases_dict.keys
    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: frontend_flags_dict.keys
    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: jupyter_client.runapp.RunApp
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - traitlets.Dict
    - traitlets.Float
    - traitlets.Any
    - traitlets.config.catch_config_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf346655e0>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: jupyter_client.runapp.RunApp.parse_command_line
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - jupyter_client.consoleapp.JupyterConsoleApp.build_kernel_argv
    - <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: traitlets.config.catch_config_error
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7faf359ce700>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 67
    functionName: jupyter_client.runapp.RunApp.initialize
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - signal.signal
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.utils._expand_path
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_core.application.JupyterApp.log.debug
    - sys.exit
    - jupyter_client.consoleapp.JupyterConsoleApp.init_connection_file
    - jupyter_client.client.KernelClient.start_channels
    - os.getcwd
    - traitlets.config.LoggingConfigurable.log.info
    - os.path.isabs
    - info.get
    - jupyter_client.utils._filefind
    - atexit.register
    - jupyter_client.asynchronous.client.wrapped
    - traitlets.config.LoggingConfigurable.log.error
    - os.path.exists
    - find_connection_file.strip
    - find_connection_file
    - jupyter_client.blocking.client.wrapped
    - jupyter_client.connect.ConnectionFileMixin.load_connection_file
    - jupyter_client.consoleapp.JupyterConsoleApp.init_ssh
    - s.replace
    - json.load
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - time.time
    - key.encode
    - os.path.basename
    - os.path.abspath
    - jupyter_client.consoleapp.JupyterConsoleApp.initialize
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - <builtin>.super
    - <builtin>.getattr
    - typing.cast
    - os.path.expanduser
    - os.path.expandvars
    - jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_manager
    - traitlets.config.LoggingConfigurable.log.critical
    - jupyter_client.localinterfaces.localhost
    - os.path.splitext
    - traitlets.config.LoggingConfigurable.exit
    - traitlets.Type
    - os.path.join
    - jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_client
    - os.path.isfile
    - jupyter_core.utils.run_sync
    - tunnel_to_kernel
    - <builtin>.isinstance
    - jupyter_client.runapp.RunApp.init_kernel_info
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: jupyter_client.runapp.RunApp.init_kernel_info
    functionSourceFile: jupyter_client.runapp
    functionUses: 1
    functionsReached:
    - time.time
    - jupyter_core.utils.run_sync
    - jupyter_client.blocking.client.wrapped
    - jupyter_client.asynchronous.client.wrapped
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: jupyter_client.runapp.RunApp.handle_sigint
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 100
    functionName: jupyter_client.runapp.RunApp.start
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - fp.read
    - <builtin>.super
    - jupyter_core.application.JupyterApp.log.debug
    - jupyter_core.utils.run_sync
    - sys.stdin.read
    - <builtin>.open
    linkageType: pythonLinkage
    raised:
    - Exception
    returnType: N/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.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: sys.stdin.read
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_serialization':
  - 51
  - 50
  - 19
  '...fuzz_serialization.TestOneInput':
  - 33
  - 34
  - 36
  - 37
  - 38
  - 40
  - 41
  - 28
  - 29
  - 30
  - 31
  '...fuzz_serialization.main':
  - 48
  - 46
  - 47
  jupyter_client:
  - 1
  - 23
  jupyter_client._version:
  - 1
  - 9
  - 10
  - 11
  - 12
  - 13
  - 16
  jupyter_client.adapter:
  - 1
  - 429
  - 430
  - 28
  - 29
  - 30
  jupyter_client.adapter.Adapter:
  - 57
  jupyter_client.adapter.Adapter.__call__:
  - 98
  - 99
  - 100
  - 88
  - 89
  - 90
  - 93
  - 94
  jupyter_client.adapter.Adapter.handle_reply_status_error:
  - 81
  jupyter_client.adapter.Adapter.update_header:
  - 65
  jupyter_client.adapter.Adapter.update_metadata:
  - 69
  jupyter_client.adapter.Adapter.update_msg_type:
  - 73
  - 76
  jupyter_client.adapter.V4toV5:
  - 244
  - 239
  jupyter_client.adapter.V4toV5.complete_reply:
  - 314
  - 323
  - 322
  jupyter_client.adapter.V4toV5.complete_request:
  - 305
  jupyter_client.adapter.V4toV5.display_data:
  - 377
  - 379
  - 373
  - 375
  jupyter_client.adapter.V4toV5.execute_reply:
  - 288
  - 290
  - 291
  - 292
  - 293
  - 296
  - 297
  - 298
  - 300
  jupyter_client.adapter.V4toV5.execute_request:
  - 281
  - 282
  - 283
  - 279
  jupyter_client.adapter.V4toV5.input_request:
  - 388
  - 389
  jupyter_client.adapter.V4toV5.inspect_reply:
  - 352
  - 353
  - 355
  - 356
  - 357
  - 359
  - 360
  - 361
  - 343
  - 349
  - 351
  jupyter_client.adapter.V4toV5.inspect_request:
  - 338
  - 332
  jupyter_client.adapter.V4toV5.kernel_info_reply:
  - 256
  - 258
  - 259
  - 260
  - 262
  - 264
  - 266
  - 268
  - 269
  - 270
  - 271
  - 272
  - 273
  jupyter_client.adapter.V4toV5.stream:
  - 369
  - 367
  jupyter_client.adapter.V4toV5.update_header:
  - 249
  - 247
  jupyter_client.adapter.V5toV4:
  - 118
  jupyter_client.adapter.V5toV4.complete_reply:
  - 185
  - 186
  - 189
  - 183
  jupyter_client.adapter.V5toV4.complete_request:
  - 169
  - 173
  jupyter_client.adapter.V5toV4.display_data:
  - 224
  - 218
  - 220
  - 222
  jupyter_client.adapter.V5toV4.execute_reply:
  - 162
  - 164
  jupyter_client.adapter.V5toV4.execute_request:
  - 156
  - 158
  jupyter_client.adapter.V5toV4.input_request:
  - 233
  - 234
  jupyter_client.adapter.V5toV4.kernel_info_reply:
  - 139
  - 142
  - 143
  - 144
  - 145
  - 146
  - 147
  - 148
  - 149
  - 150
  - 151
  jupyter_client.adapter.V5toV4.object_info_reply:
  - 205
  jupyter_client.adapter.V5toV4.object_info_request:
  - 200
  - 193
  - 197
  jupyter_client.adapter.V5toV4.stream:
  - 212
  - 214
  jupyter_client.adapter.V5toV4.update_header:
  - 131
  - 132
  - 133
  jupyter_client.adapter._version_str_to_list:
  - 104
  - 109
  - 111
  jupyter_client.adapter.adapt:
  - 416
  - 417
  - 421
  - 422
  - 424
  - 394
  - 414
  - 415
  jupyter_client.adapter.code_to_line:
  - 12
  - 17
  - 19
  - 20
  - 21
  jupyter_client.adapter.extract_oname_v4:
  - 34
  - 39
  - 42
  - 45
  - 48
  - 49
  - 50
  jupyter_client.asynchronous.client:
  - 1
  jupyter_client.asynchronous.client.AsyncKernelClient:
  - 64
  - 33
  - 65
  - 66
  - 72
  - 51
  - 52
  - 53
  - 54
  - 55
  - 27
  - 60
  - 61
  - 62
  - 63
  jupyter_client.asynchronous.client.AsyncKernelClient._context_default:
  - 37
  jupyter_client.asynchronous.client.wrapped:
  - 13
  jupyter_client.asynchronous.client.wrapped._:
  - 16
  - 17
  - 18
  - 19
  - 21
  jupyter_client.blocking.client:
  - 1
  jupyter_client.blocking.client.BlockingKernelClient:
  - 29
  - 39
  - 40
  - 41
  - 42
  - 44
  - 47
  - 48
  - 49
  - 50
  - 51
  - 53
  - 56
  - 57
  - 58
  - 59
  - 60
  - 61
  - 63
  - 64
  - 67
  jupyter_client.blocking.client.wrapped:
  - 15
  jupyter_client.blocking.client.wrapped._:
  - 18
  - 19
  - 20
  - 21
  - 23
  jupyter_client.channels:
  - 1
  - 194
  jupyter_client.channels.AsyncZMQSocketChannel:
  - 276
  jupyter_client.channels.AsyncZMQSocketChannel.__init__:
  - 281
  - 292
  - 295
  jupyter_client.channels.AsyncZMQSocketChannel._recv:
  - 299
  - 300
  - 301
  jupyter_client.channels.AsyncZMQSocketChannel.get_msg:
  - 306
  - 308
  - 310
  - 311
  - 312
  jupyter_client.channels.AsyncZMQSocketChannel.get_msgs:
  - 322
  - 318
  jupyter_client.channels.AsyncZMQSocketChannel.msg_ready:
  - 328
  - 330
  jupyter_client.channels.HBChannel:
  - 35
  jupyter_client.channels.HBChannel.__init__:
  - 69
  - 74
  - 75
  - 85
  - 88
  - 58
  jupyter_client.channels.HBChannel._async_run:
  - 128
  - 130
  - 132
  - 133
  - 135
  - 137
  - 139
  - 140
  - 142
  - 112
  - 113
  - 119
  - 121
  - 127
  jupyter_client.channels.HBChannel._create_socket:
  - 99
  - 101
  - 102
  - 104
  - 107
  - 109
  jupyter_client.channels.HBChannel._notice_exit:
  - 95
  jupyter_client.channels.HBChannel.call_handlers:
  - 184
  jupyter_client.channels.HBChannel.close:
  - 176
  - 178
  - 175
  jupyter_client.channels.HBChannel.is_beating:
  - 161
  - 162
  jupyter_client.channels.HBChannel.pause:
  - 153
  jupyter_client.channels.HBChannel.run:
  - 146
  - 147
  - 148
  - 149
  - 150
  jupyter_client.channels.HBChannel.stop:
  - 168
  - 170
  - 171
  - 172
  jupyter_client.channels.HBChannel.unpause:
  - 157
  jupyter_client.channels.InvalidPortNumber:
  - 29
  jupyter_client.channels.ZMQSocketChannel:
  - 198
  jupyter_client.channels.ZMQSocketChannel.__init__:
  - 201
  - 212
  jupyter_client.channels.ZMQSocketChannel._recv:
  - 219
  - 220
  - 221
  jupyter_client.channels.ZMQSocketChannel.close:
  - 251
  - 252
  - 254
  jupyter_client.channels.ZMQSocketChannel.get_msg:
  - 224
  - 226
  - 228
  - 229
  - 230
  jupyter_client.channels.ZMQSocketChannel.get_msgs:
  - 240
  - 236
  jupyter_client.channels.ZMQSocketChannel.is_alive:
  - 262
  jupyter_client.channels.ZMQSocketChannel.msg_ready:
  - 248
  - 246
  jupyter_client.channels.ZMQSocketChannel.send:
  - 266
  - 268
  jupyter_client.channels.ZMQSocketChannel.start:
  - 271
  jupyter_client.channelsabc:
  - 1
  jupyter_client.channelsabc.ChannelABC:
  - 8
  jupyter_client.channelsabc.ChannelABC.is_alive:
  - 22
  jupyter_client.channelsabc.ChannelABC.start:
  - 12
  jupyter_client.channelsabc.ChannelABC.stop:
  - 17
  jupyter_client.channelsabc.HBChannelABC:
  - 27
  jupyter_client.channelsabc.HBChannelABC.is_beating:
  - 50
  jupyter_client.channelsabc.HBChannelABC.pause:
  - 40
  jupyter_client.channelsabc.HBChannelABC.unpause:
  - 45
  jupyter_client.client:
  - 1
  - 813
  jupyter_client.client.KernelClient:
  - 100
  - 101
  - 102
  - 103
  - 104
  - 74
  - 107
  - 108
  - 109
  - 110
  - 111
  - 91
  - 93
  jupyter_client.client.KernelClient.__del__:
  - 131
  - 117
  - 118
  - 119
  - 120
  - 121
  - 123
  - 124
  - 125
  - 127
  jupyter_client.client.KernelClient._async_execute_interactive:
  - 514
  - 515
  - 519
  - 521
  - 522
  - 524
  - 530
  - 531
  - 532
  - 533
  - 534
  - 537
  - 538
  - 539
  - 540
  - 541
  - 543
  - 546
  - 548
  - 422
  - 551
  - 554
  - 561
  - 562
  - 563
  - 476
  - 479
  - 481
  - 484
  - 485
  - 494
  - 497
  - 500
  - 501
  - 502
  - 503
  - 509
  jupyter_client.client.KernelClient._async_get_control_msg:
  - 150
  - 151
  jupyter_client.client.KernelClient._async_get_iopub_msg:
  - 142
  - 143
  jupyter_client.client.KernelClient._async_get_shell_msg:
  - 138
  - 139
  jupyter_client.client.KernelClient._async_get_stdin_msg:
  - 146
  - 147
  jupyter_client.client.KernelClient._async_is_alive:
  - 395
  - 398
  - 401
  - 402
  - 405
  jupyter_client.client.KernelClient._async_recv_reply:
  - 225
  - 229
  - 215
  - 216
  - 217
  - 219
  - 220
  - 222
  - 223
  jupyter_client.client.KernelClient._async_wait_for_ready:
  - 162
  - 163
  - 164
  - 194
  - 197
  - 168
  - 202
  - 172
  - 173
  - 208
  - 177
  - 181
  - 183
  - 154
  - 187
  - 190
  jupyter_client.client.KernelClient._context_default:
  - 97
  jupyter_client.client.KernelClient._handle_kernel_info_reply:
  - 762
  - 763
  - 757
  jupyter_client.client.KernelClient._output_hook_default:
  - 257
  - 258
  - 259
  - 260
  - 261
  - 262
  - 263
  - 254
  jupyter_client.client.KernelClient._output_hook_kernel:
  - 272
  - 280
  - 277
  - 278
  jupyter_client.client.KernelClient._stdin_hook_default:
  - 235
  - 237
  - 240
  - 245
  - 250
  - 251
  jupyter_client.client.KernelClient.channels_running:
  - 334
  - 336
  - 337
  - 338
  - 339
  - 340
  jupyter_client.client.KernelClient.comm_info:
  - 752
  - 745
  - 753
  jupyter_client.client.KernelClient.complete:
  - 649
  - 650
  - 652
  - 653
  - 634
  jupyter_client.client.KernelClient.control_channel:
  - 386
  - 387
  - 388
  - 389
  - 390
  - 391
  jupyter_client.client.KernelClient.execute:
  - 609
  - 611
  - 615
  - 617
  - 629
  - 630
  - 575
  jupyter_client.client.KernelClient.hb_channel:
  - 377
  - 378
  - 379
  - 380
  - 381
  jupyter_client.client.KernelClient.history:
  - 727
  - 725
  - 726
  - 694
  - 728
  - 729
  - 730
  jupyter_client.client.KernelClient.input:
  - 778
  - 788
  - 789
  jupyter_client.client.KernelClient.inspect:
  - 676
  - 677
  - 683
  - 684
  - 657
  jupyter_client.client.KernelClient.iopub_channel:
  - 357
  - 358
  - 359
  - 360
  - 361
  - 362
  jupyter_client.client.KernelClient.is_complete:
  - 773
  - 774
  - 767
  jupyter_client.client.KernelClient.kernel_info:
  - 740
  - 741
  - 734
  jupyter_client.client.KernelClient.shell_channel:
  - 352
  - 347
  - 348
  - 349
  - 350
  - 351
  jupyter_client.client.KernelClient.shutdown:
  - 792
  - 809
  - 808
  jupyter_client.client.KernelClient.start_channels:
  - 294
  - 302
  - 303
  - 304
  - 305
  - 306
  - 307
  - 311
  - 312
  - 313
  - 314
  jupyter_client.client.KernelClient.stdin_channel:
  - 367
  - 368
  - 369
  - 370
  - 371
  - 372
  jupyter_client.client.KernelClient.stop_channels:
  - 321
  - 322
  - 323
  - 324
  - 325
  - 326
  - 327
  - 328
  - 329
  - 330
  - 317
  jupyter_client.client.reqrep:
  - 69
  - 39
  - 40
  - 45
  - 46
  - 47
  - 48
  - 54
  jupyter_client.client.validate_string_dict:
  - 32
  - 34
  - 28
  - 31
  jupyter_client.clientabc:
  - 1
  jupyter_client.clientabc.KernelClientABC:
  - 19
  jupyter_client.clientabc.KernelClientABC.channels_running:
  - 66
  jupyter_client.clientabc.KernelClientABC.start_channels:
  - 56
  jupyter_client.clientabc.KernelClientABC.stop_channels:
  - 61
  jupyter_client.connect:
  - 1
  jupyter_client.connect.ConnectionFileMixin:
  - 420
  - 356
  - 325
  - 357
  - 327
  - 328
  - 358
  - 330
  - 359
  - 332
  - 360
  - 370
  - 307
  - 309
  - 315
  - 349
  jupyter_client.connect.ConnectionFileMixin._create_connected_socket:
  - 641
  - 642
  - 645
  - 647
  - 638
  - 639
  jupyter_client.connect.ConnectionFileMixin._data_dir_default:
  - 312
  jupyter_client.connect.ConnectionFileMixin._equal_connections:
  - 618
  - 604
  jupyter_client.connect.ConnectionFileMixin._ip_changed:
  - 351
  jupyter_client.connect.ConnectionFileMixin._ip_default:
  - 347
  - 341
  - 342
  - 343
  jupyter_client.connect.ConnectionFileMixin._make_url:
  - 625
  - 628
  - 630
  jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info:
  - 578
  - 579
  - 580
  - 585
  - 588
  - 557
  - 589
  - 590
  - 591
  - 594
  - 595
  - 573
  - 574
  - 575
  jupyter_client.connect.ConnectionFileMixin._record_random_port_names:
  - 454
  - 459
  - 461
  - 465
  - 466
  - 467
  jupyter_client.connect.ConnectionFileMixin._session_default:
  - 375
  jupyter_client.connect.ConnectionFileMixin.blocking_client:
  - 424
  - 425
  - 426
  - 423
  jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file:
  - 434
  - 438
  - 430
  jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files:
  - 449
  - 443
  - 444
  - 446
  jupyter_client.connect.ConnectionFileMixin.cleanup_random_ports:
  - 480
  - 482
  - 470
  - 476
  - 479
  jupyter_client.connect.ConnectionFileMixin.connect_control:
  - 669
  - 670
  jupyter_client.connect.ConnectionFileMixin.connect_hb:
  - 665
  - 666
  jupyter_client.connect.ConnectionFileMixin.connect_iopub:
  - 651
  - 652
  - 653
  jupyter_client.connect.ConnectionFileMixin.connect_shell:
  - 657
  - 658
  jupyter_client.connect.ConnectionFileMixin.connect_stdin:
  - 661
  - 662
  jupyter_client.connect.ConnectionFileMixin.get_connection_info:
  - 408
  - 411
  - 405
  - 382
  jupyter_client.connect.ConnectionFileMixin.load_connection_file:
  - 518
  - 520
  - 521
  - 522
  - 523
  - 510
  jupyter_client.connect.ConnectionFileMixin.load_connection_info:
  - 544
  - 546
  - 548
  - 549
  - 550
  - 553
  - 526
  - 537
  - 538
  - 540
  - 541
  - 542
  jupyter_client.connect.ConnectionFileMixin.ports:
  - 367
  jupyter_client.connect.ConnectionFileMixin.write_connection_file:
  - 485
  - 486
  - 489
  - 503
  - 504
  - 505
  jupyter_client.connect.LocalPortCache:
  - 674
  jupyter_client.connect.LocalPortCache.__init__:
  - 685
  - 686
  jupyter_client.connect.LocalPortCache.find_available_port:
  - 690
  - 691
  - 692
  - 693
  - 694
  - 698
  - 699
  jupyter_client.connect.LocalPortCache.return_port:
  - 704
  - 703
  jupyter_client.connect.find_connection_file:
  - 193
  - 194
  - 195
  - 196
  - 197
  - 227
  - 202
  - 173
  - 208
  - 216
  - 217
  - 219
  - 220
  - 223
  jupyter_client.connect.find_connection_file.<lambda1>:
  - 227
  jupyter_client.connect.tunnel_to_kernel:
  - 288
  - 262
  - 264
  - 265
  - 235
  - 267
  - 269
  - 280
  - 283
  - 285
  - 286
  jupyter_client.connect.write_connection_file:
  - 128
  - 129
  - 139
  - 147
  - 148
  - 150
  - 153
  - 154
  - 155
  - 157
  - 159
  - 161
  - 44
  - 84
  - 85
  - 87
  - 88
  - 89
  - 96
  - 97
  - 98
  - 99
  - 100
  - 102
  - 103
  - 104
  - 106
  - 107
  - 108
  - 109
  - 110
  - 111
  - 112
  - 115
  - 116
  - 118
  - 120
  - 121
  - 122
  - 123
  - 124
  - 125
  - 126
  - 127
  jupyter_client.consoleapp:
  - 1
  - 65
  - 36
  - 46
  - 47
  - 82
  - 62
  jupyter_client.consoleapp.IPythonConsoleApp:
  - 370
  jupyter_client.consoleapp.IPythonConsoleApp.__init__:
  - 373
  - 374
  - 375
  jupyter_client.consoleapp.JupyterConsoleApp:
  - 129
  - 130
  - 139
  - 141
  - 145
  - 116
  - 117
  - 118
  - 92
  - 125
  jupyter_client.consoleapp.JupyterConsoleApp._connection_file_default:
  - 137
  jupyter_client.consoleapp.JupyterConsoleApp._new_connection_file:
  - 280
  - 283
  - 278
  jupyter_client.consoleapp.JupyterConsoleApp.build_kernel_argv:
  - 154
  jupyter_client.consoleapp.JupyterConsoleApp.init_connection_file:
  - 161
  - 193
  - 195
  - 200
  - 202
  - 176
  - 209
  - 178
  - 211
  - 180
  - 183
  - 184
  - 190
  - 216
  jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_client:
  - 354
  - 337
  - 338
  - 339
  - 341
  jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_manager:
  - 289
  - 321
  - 323
  - 292
  - 319
  - 296
  - 334
  - 311
  - 312
  - 314
  - 318
  - 287
  jupyter_client.consoleapp.JupyterConsoleApp.init_ssh:
  - 227
  - 228
  - 229
  - 231
  - 234
  - 266
  - 268
  - 269
  - 270
  - 251
  - 246
  - 254
  - 249
  - 219
  - 220
  - 222
  - 255
  jupyter_client.consoleapp.JupyterConsoleApp.initialize:
  - 357
  - 361
  - 363
  - 364
  - 365
  - 366
  jupyter_client.ioloop.manager:
  - 1
  jupyter_client.ioloop.manager.AsyncIOLoopKernelManager:
  - 77
  - 79
  - 112
  - 113
  - 114
  - 115
  - 84
  - 116
  - 94
  jupyter_client.ioloop.manager.AsyncIOLoopKernelManager._loop_default:
  - 82
  jupyter_client.ioloop.manager.AsyncIOLoopKernelManager.start_restarter:
  - 99
  - 100
  - 101
  - 102
  - 105
  jupyter_client.ioloop.manager.AsyncIOLoopKernelManager.stop_restarter:
  - 108
  - 109
  - 110
  jupyter_client.ioloop.manager.IOLoopKernelManager:
  - 36
  - 69
  - 38
  - 70
  - 71
  - 72
  - 73
  - 43
  - 53
  jupyter_client.ioloop.manager.IOLoopKernelManager._loop_default:
  - 41
  jupyter_client.ioloop.manager.IOLoopKernelManager.start_restarter:
  - 56
  - 57
  - 58
  - 59
  - 62
  jupyter_client.ioloop.manager.IOLoopKernelManager.stop_restarter:
  - 65
  - 66
  - 67
  jupyter_client.ioloop.manager.as_zmqstream:
  - 16
  jupyter_client.ioloop.manager.as_zmqstream.wrapped:
  - 25
  - 27
  - 21
  - 30
  jupyter_client.ioloop.restarter:
  - 1
  jupyter_client.ioloop.restarter.AsyncIOLoopKernelRestarter:
  - 52
  jupyter_client.ioloop.restarter.AsyncIOLoopKernelRestarter.poll:
  - 55
  - 56
  - 57
  - 58
  - 59
  - 60
  - 62
  - 67
  - 68
  - 69
  - 72
  - 75
  - 81
  - 82
  - 93
  - 94
  - 97
  - 99
  - 100
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter:
  - 17
  - 19
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter._loop_default:
  - 29
  - 22
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter.start:
  - 34
  - 35
  - 42
  - 38
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter.stop:
  - 45
  - 46
  - 47
  jupyter_client.jsonutil:
  - 1
  - 25
  - 31
  jupyter_client.jsonutil._ensure_tzinfo:
  - 50
  - 43
  - 45
  - 39
  jupyter_client.jsonutil.date_default:
  - 104
  - 98
  - 99
  jupyter_client.jsonutil.extract_dates:
  - 71
  - 72
  - 74
  - 75
  - 77
  - 78
  - 79
  - 80
  jupyter_client.jsonutil.json_clean:
  - 133
  - 141
  - 144
  - 146
  - 148
  - 150
  - 151
  - 152
  - 154
  - 157
  - 160
  - 162
  - 163
  - 165
  - 167
  - 168
  - 170
  - 174
  - 175
  - 176
  - 184
  - 185
  - 188
  - 189
  jupyter_client.jsonutil.json_default:
  - 108
  - 109
  - 110
  - 111
  - 113
  - 114
  - 116
  - 117
  - 119
  - 120
  - 122
  - 123
  jupyter_client.jsonutil.parse_date:
  - 64
  - 65
  - 66
  - 55
  - 61
  - 63
  jupyter_client.jsonutil.squash_dates:
  - 85
  - 86
  - 87
  - 88
  - 89
  - 90
  - 91
  - 92
  - 93
  jupyter_client.kernelapp:
  - 1
  jupyter_client.kernelapp.KernelApp:
  - 16
  - 29
  jupyter_client.kernelapp.KernelApp._record_started:
  - 74
  - 75
  - 76
  - 70
  jupyter_client.kernelapp.KernelApp.initialize:
  - 34
  - 35
  - 37
  - 38
  - 39
  - 41
  - 43
  - 44
  jupyter_client.kernelapp.KernelApp.log_connection_info:
  - 64
  - 66
  - 67
  jupyter_client.kernelapp.KernelApp.setup_signals:
  - 48
  - 55
  - 54
  - 47
  jupyter_client.kernelapp.KernelApp.setup_signals.shutdown_handler:
  - 52
  jupyter_client.kernelapp.KernelApp.shutdown:
  - 58
  - 59
  - 60
  - 61
  jupyter_client.kernelapp.KernelApp.start:
  - 80
  - 81
  - 83
  - 84
  - 85
  - 86
  - 88
  jupyter_client.kernelspec:
  - 1
  - 66
  jupyter_client.kernelspec.KernelSpec:
  - 32
  - 22
  - 24
  - 25
  - 26
  - 27
  - 28
  - 29
  - 30
  - 31
  jupyter_client.kernelspec.KernelSpec.from_resource_dir:
  - 36
  - 40
  - 41
  - 42
  - 43
  jupyter_client.kernelspec.KernelSpec.to_dict:
  - 46
  jupyter_client.kernelspec.KernelSpec.to_json:
  - 59
  - 63
  jupyter_client.kernelspec.KernelSpecManager:
  - 160
  - 130
  - 138
  - 170
  - 143
  - 148
  - 120
  - 153
  - 122
  jupyter_client.kernelspec.KernelSpecManager._data_dir_default:
  - 141
  jupyter_client.kernelspec.KernelSpecManager._deprecated_trait:
  - 172
  - 175
  - 176
  - 180
  - 181
  - 191
  jupyter_client.kernelspec.KernelSpecManager._find_spec_directory:
  - 258
  - 259
  - 260
  - 261
  - 262
  - 263
  - 266
  jupyter_client.kernelspec.KernelSpecManager._get_destination_dir:
  - 343
  - 344
  - 345
  - 346
  - 348
  jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name:
  - 236
  - 240
  - 247
  - 248
  - 249
  - 250
  - 252
  jupyter_client.kernelspec.KernelSpecManager._kernel_dirs_default:
  - 201
  - 194
  jupyter_client.kernelspec.KernelSpecManager._user_kernel_dir_default:
  - 146
  jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs:
  - 227
  - 229
  - 231
  - 207
  - 209
  - 210
  - 211
  - 212
  - 213
  - 216
  - 220
  jupyter_client.kernelspec.KernelSpecManager.get_all_specs:
  - 320
  - 292
  - 304
  - 306
  - 308
  - 309
  - 314
  - 316
  jupyter_client.kernelspec.KernelSpecManager.get_kernel_spec:
  - 289
  - 275
  - 279
  - 280
  - 284
  - 285
  - 286
  jupyter_client.kernelspec.KernelSpecManager.install_kernel_spec:
  - 386
  - 387
  - 389
  - 390
  - 391
  - 397
  - 398
  - 399
  - 401
  - 402
  - 353
  - 366
  - 367
  - 368
  - 369
  - 370
  - 374
  - 378
  - 379
  jupyter_client.kernelspec.KernelSpecManager.install_native_kernel_spec:
  - 413
  - 406
  - 407
  jupyter_client.kernelspec.KernelSpecManager.remove_kernel_spec:
  - 324
  - 331
  - 335
  - 336
  - 337
  - 339
  jupyter_client.kernelspec.NoSuchKernel:
  - 109
  jupyter_client.kernelspec.NoSuchKernel.__init__:
  - 112
  jupyter_client.kernelspec._is_kernel_dir:
  - 82
  - 83
  jupyter_client.kernelspec._is_valid_kernel_name:
  - 72
  - 70
  jupyter_client.kernelspec._list_kernels_in:
  - 96
  - 98
  - 99
  - 100
  - 87
  - 91
  - 94
  - 95
  jupyter_client.kernelspec.find_kernel_specs:
  - 417
  - 418
  jupyter_client.kernelspec.get_kernel_spec:
  - 426
  - 422
  jupyter_client.kernelspec.install_kernel_spec:
  - 430
  - 431
  jupyter_client.kernelspec.install_native_kernel_spec:
  - 438
  - 439
  jupyter_client.kernelspecapp:
  - 1
  - 341
  - 342
  jupyter_client.kernelspecapp.InstallKernelSpec:
  - 97
  - 72
  - 105
  - 112
  - 86
  - 118
  - 91
  - 92
  jupyter_client.kernelspecapp.InstallKernelSpec._kernel_name_default:
  - 95
  jupyter_client.kernelspecapp.InstallKernelSpec._kernel_spec_manager_default:
  - 89
  jupyter_client.kernelspecapp.InstallKernelSpec.parse_command_line:
  - 137
  - 138
  - 140
  - 143
  - 144
  jupyter_client.kernelspecapp.InstallKernelSpec.start:
  - 160
  - 161
  - 162
  - 163
  - 164
  - 165
  - 166
  - 147
  - 148
  - 149
  - 151
  - 159
  jupyter_client.kernelspecapp.InstallNativeKernelSpec:
  - 234
  - 230
  - 239
  jupyter_client.kernelspecapp.InstallNativeKernelSpec._kernel_spec_manager_default:
  - 237
  jupyter_client.kernelspecapp.InstallNativeKernelSpec.start:
  - 257
  - 258
  - 265
  - 266
  - 268
  - 270
  - 271
  - 272
  - 273
  - 277
  - 278
  jupyter_client.kernelspecapp.KernelSpecApp:
  - 320
  - 301
  - 307
  - 309
  - 312
  - 315
  - 318
  jupyter_client.kernelspecapp.KernelSpecApp.start:
  - 330
  - 331
  - 332
  - 333
  - 334
  - 335
  - 336
  - 338
  jupyter_client.kernelspecapp.ListKernelSpecs:
  - 25
  - 26
  - 21
  jupyter_client.kernelspecapp.ListKernelSpecs._kernel_spec_manager_default:
  - 41
  jupyter_client.kernelspecapp.ListKernelSpecs.start:
  - 64
  - 65
  - 67
  - 44
  - 45
  - 46
  - 47
  - 48
  - 49
  - 52
  - 63
  jupyter_client.kernelspecapp.ListKernelSpecs.start.<lambda1>:
  - 52
  jupyter_client.kernelspecapp.ListKernelSpecs.start.path_key:
  - 57
  - 58
  - 55
  jupyter_client.kernelspecapp.ListProvisioners:
  - 282
  jupyter_client.kernelspecapp.ListProvisioners.start:
  - 288
  - 289
  - 290
  - 291
  - 294
  - 296
  - 297
  jupyter_client.kernelspecapp.ListProvisioners.start.<lambda1>:
  - 294
  jupyter_client.kernelspecapp.RemoveKernelSpec:
  - 171
  - 177
  - 178
  - 180
  - 188
  jupyter_client.kernelspecapp.RemoveKernelSpec._kernel_spec_manager_default:
  - 183
  jupyter_client.kernelspecapp.RemoveKernelSpec.parse_command_line:
  - 192
  - 194
  - 195
  - 197
  - 191
  jupyter_client.kernelspecapp.RemoveKernelSpec.start:
  - 200
  - 202
  - 203
  - 204
  - 205
  - 207
  - 208
  - 209
  - 210
  - 211
  - 212
  - 213
  - 216
  - 218
  - 220
  - 221
  - 222
  - 223
  - 226
  jupyter_client.launcher:
  - 1
  jupyter_client.launcher.launch_kernel:
  - 129
  - 132
  - 134
  - 149
  - 150
  - 23
  - 154
  - 155
  - 161
  - 162
  - 163
  - 165
  - 166
  - 169
  - 174
  - 176
  - 67
  - 68
  - 69
  - 75
  - 77
  - 85
  - 88
  - 89
  - 96
  - 97
  - 117
  - 120
  - 121
  jupyter_client.localinterfaces:
  - 136
  - 1
  - 102
  jupyter_client.localinterfaces._get_output:
  - 34
  - 36
  - 37
  - 39
  - 40
  - 41
  - 42
  - 44
  jupyter_client.localinterfaces._load_ips:
  - 224
  - 259
  - 261
  - 264
  - 265
  - 236
  - 242
  - 244
  - 249
  - 253
  jupyter_client.localinterfaces._load_ips_dumb:
  - 215
  jupyter_client.localinterfaces._load_ips_gethostbyname:
  - 195
  - 196
  - 198
  - 199
  - 203
  - 204
  - 207
  - 209
  - 183
  - 189
  jupyter_client.localinterfaces._load_ips_ifconfig:
  - 106
  - 109
  - 112
  - 114
  - 116
  - 117
  - 118
  - 119
  - 120
  jupyter_client.localinterfaces._load_ips_ip:
  - 129
  - 130
  - 131
  - 132
  - 133
  - 124
  - 125
  - 127
  jupyter_client.localinterfaces._load_ips_ipconfig:
  - 140
  - 141
  - 143
  - 145
  - 146
  - 147
  - 148
  - 149
  jupyter_client.localinterfaces._load_ips_netifaces:
  - 161
  - 163
  - 164
  - 165
  - 166
  - 168
  - 169
  - 170
  - 172
  - 173
  - 176
  - 177
  - 178
  - 179
  - 153
  jupyter_client.localinterfaces._only_once:
  - 48
  jupyter_client.localinterfaces._only_once.wrapped:
  - 52
  - 54
  jupyter_client.localinterfaces._populate_from_list:
  - 96
  - 98
  - 99
  - 77
  - 78
  - 85
  - 86
  - 87
  - 88
  - 89
  - 92
  - 94
  jupyter_client.localinterfaces._requires_ips:
  - 62
  jupyter_client.localinterfaces._requires_ips.ips_loaded:
  - 65
  - 66
  jupyter_client.localinterfaces._uniq_stable:
  - 19
  - 24
  - 26
  - 27
  - 28
  - 29
  jupyter_client.localinterfaces.is_local_ip:
  - 288
  jupyter_client.localinterfaces.is_public_ip:
  - 294
  jupyter_client.localinterfaces.local_ips:
  - 270
  jupyter_client.localinterfaces.localhost:
  - 282
  jupyter_client.localinterfaces.public_ips:
  - 276
  jupyter_client.manager:
  - 1
  - 58
  - 724
  jupyter_client.manager.AsyncKernelManager:
  - 672
  - 675
  - 677
  - 666
  - 669
  jupyter_client.manager.AsyncKernelManager._context_default:
  - 680
  jupyter_client.manager.AsyncKernelManager.client:
  - 683
  - 684
  jupyter_client.manager.KernelManager:
  - 129
  - 514
  - 643
  - 133
  - 137
  - 654
  - 144
  - 146
  - 404
  - 150
  - 155
  - 417
  - 169
  - 171
  - 557
  - 185
  - 570
  - 189
  - 323
  - 458
  - 205
  - 206
  - 208
  - 593
  - 210
  - 475
  - 99
  - 366
  - 113
  - 626
  - 116
  - 118
  - 124
  - 381
  - 127
  jupyter_client.manager.KernelManager.__del__:
  - 217
  - 218
  jupyter_client.manager.KernelManager.__init__:
  - 107
  - 108
  jupyter_client.manager.KernelManager._async_cleanup_resources:
  - 461
  - 462
  - 463
  - 465
  - 466
  - 469
  - 470
  - 472
  - 473
  jupyter_client.manager.KernelManager._async_finish_shutdown:
  - 449
  - 451
  - 454
  - 456
  - 425
  - 430
  - 431
  - 432
  - 433
  - 436
  - 437
  - 440
  - 442
  - 445
  - 446
  jupyter_client.manager.KernelManager._async_interrupt_kernel:
  - 608
  - 610
  - 612
  - 615
  - 616
  - 618
  - 619
  - 620
  - 621
  - 596
  - 601
  - 602
  - 603
  - 607
  jupyter_client.manager.KernelManager._async_is_alive:
  - 649
  - 650
  - 646
  - 647
  jupyter_client.manager.KernelManager._async_kill_kernel:
  - 577
  - 579
  - 583
  - 586
  - 590
  - 591
  - 573
  jupyter_client.manager.KernelManager._async_launch_kernel:
  - 321
  - 317
  - 310
  jupyter_client.manager.KernelManager._async_post_start_kernel:
  - 376
  - 369
  - 379
  - 377
  jupyter_client.manager.KernelManager._async_pre_start_kernel:
  - 353
  - 355
  - 356
  - 357
  - 362
  - 363
  - 341
  jupyter_client.manager.KernelManager._async_request_shutdown:
  - 407
  - 409
  - 411
  - 412
  - 414
  jupyter_client.manager.KernelManager._async_restart_kernel:
  - 548
  - 550
  - 551
  - 519
  - 554
  - 555
  - 543
  jupyter_client.manager.KernelManager._async_send_kernel_sigterm:
  - 568
  - 565
  - 566
  jupyter_client.manager.KernelManager._async_shutdown_kernel:
  - 512
  - 498
  - 500
  - 501
  - 503
  - 504
  - 506
  - 510
  - 479
  jupyter_client.manager.KernelManager._async_signal_kernel:
  - 636
  - 629
  - 638
  jupyter_client.manager.KernelManager._async_start_kernel:
  - 385
  - 397
  - 400
  - 401
  - 402
  jupyter_client.manager.KernelManager._async_wait:
  - 661
  - 662
  jupyter_client.manager.KernelManager._client_class_changed:
  - 135
  jupyter_client.manager.KernelManager._client_factory_default:
  - 131
  jupyter_client.manager.KernelManager._close_control_socket:
  - 333
  - 335
  jupyter_client.manager.KernelManager._connect_control_socket:
  - 328
  - 329
  jupyter_client.manager.KernelManager._context_default:
  - 121
  jupyter_client.manager.KernelManager._kernel_name_changed:
  - 174
  jupyter_client.manager.KernelManager._kernel_spec_manager_default:
  - 148
  jupyter_client.manager.KernelManager.add_restart_callback:
  - 233
  - 234
  - 236
  jupyter_client.manager.KernelManager.client:
  - 260
  - 261
  - 249
  - 251
  - 252
  jupyter_client.manager.KernelManager.format_kernel_cmd:
  - 292
  - 296
  - 299
  - 268
  - 301
  - 273
  - 307
  jupyter_client.manager.KernelManager.format_kernel_cmd.from_ns:
  - 304
  - 305
  jupyter_client.manager.KernelManager.has_kernel:
  - 561
  jupyter_client.manager.KernelManager.kernel_spec:
  - 181
  - 182
  jupyter_client.manager.KernelManager.ready:
  - 195
  - 196
  - 197
  jupyter_client.manager.KernelManager.remove_restart_callback:
  - 240
  - 242
  - 239
  jupyter_client.manager.KernelManager.start_restarter:
  - 225
  jupyter_client.manager.KernelManager.stop_restarter:
  - 229
  jupyter_client.manager._ShutdownStatus:
  - 44
  jupyter_client.manager._get_future:
  - 64
  - 65
  - 68
  - 62
  jupyter_client.manager.in_pending_state:
  - 72
  - 78
  - 95
  jupyter_client.manager.in_pending_state.wrapper:
  - 80
  - 81
  - 82
  - 85
  - 87
  - 88
  - 91
  - 92
  jupyter_client.manager.run_kernel:
  - 773
  - 775
  - 777
  - 778
  - 765
  jupyter_client.manager.start_new_async_kernel:
  - 748
  - 749
  - 750
  - 751
  - 752
  - 754
  - 756
  - 757
  jupyter_client.manager.start_new_kernel:
  - 736
  - 738
  - 739
  - 730
  - 731
  - 732
  - 733
  - 734
  jupyter_client.managerabc:
  - 1
  jupyter_client.managerabc.KernelManagerABC:
  - 8
  jupyter_client.managerabc.KernelManagerABC.interrupt_kernel:
  - 44
  jupyter_client.managerabc.KernelManagerABC.is_alive:
  - 54
  jupyter_client.managerabc.KernelManagerABC.restart_kernel:
  - 35
  jupyter_client.managerabc.KernelManagerABC.shutdown_kernel:
  - 30
  jupyter_client.managerabc.KernelManagerABC.signal_kernel:
  - 49
  jupyter_client.managerabc.KernelManagerABC.start_kernel:
  - 25
  jupyter_client.multikernelmanager:
  - 1
  jupyter_client.multikernelmanager.AsyncMultiKernelManager:
  - 536
  - 544
  - 552
  - 550
  jupyter_client.multikernelmanager.AsyncMultiKernelManager._context_default:
  - 555
  jupyter_client.multikernelmanager.MultiKernelManager:
  - 318
  - 66
  - 223
  - 68
  - 102
  - 107
  - 109
  - 270
  - 47
  - 49
  - 53
  - 86
  - 55
  - 374
  - 91
  - 93
  - 62
  - 95
  jupyter_client.multikernelmanager.MultiKernelManager.__del__:
  - 112
  - 113
  - 114
  - 115
  - 116
  - 118
  - 122
  jupyter_client.multikernelmanager.MultiKernelManager.__len__:
  - 131
  - 132
  jupyter_client.multikernelmanager.MultiKernelManager._add_kernel_when_ready:
  - 168
  - 170
  - 166
  jupyter_client.multikernelmanager.MultiKernelManager._async_restart_kernel:
  - 353
  - 367
  - 368
  - 371
  - 372
  jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_all:
  - 301
  - 302
  - 303
  - 304
  - 305
  - 306
  - 308
  - 309
  - 311
  - 313
  jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel:
  - 257
  - 258
  - 260
  - 261
  - 231
  - 264
  - 265
  - 267
  - 242
  - 244
  - 247
  - 248
  - 249
  - 253
  - 255
  jupyter_client.multikernelmanager.MultiKernelManager._async_start_kernel:
  - 198
  - 199
  - 200
  - 201
  - 207
  - 208
  - 211
  - 216
  - 218
  - 191
  jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id:
  - 390
  - 391
  jupyter_client.multikernelmanager.MultiKernelManager._context_default:
  - 105
  jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory:
  - 73
  jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager:
  - 76
  - 77
  - 79
  - 80
  - 81
  jupyter_client.multikernelmanager.MultiKernelManager._kernel_manager_class_changed:
  - 64
  jupyter_client.multikernelmanager.MultiKernelManager._kernel_manager_factory_default:
  - 70
  jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready:
  - 176
  - 177
  - 178
  - 180
  jupyter_client.multikernelmanager.MultiKernelManager._starting_kernels:
  - 99
  jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels:
  - 186
  - 183
  jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback:
  - 409
  jupyter_client.multikernelmanager.MultiKernelManager.cleanup_resources:
  - 288
  jupyter_client.multikernelmanager.MultiKernelManager.connect_control:
  - 475
  jupyter_client.multikernelmanager.MultiKernelManager.connect_hb:
  - 511
  jupyter_client.multikernelmanager.MultiKernelManager.connect_iopub:
  - 439
  jupyter_client.multikernelmanager.MultiKernelManager.connect_shell:
  - 457
  jupyter_client.multikernelmanager.MultiKernelManager.connect_stdin:
  - 493
  jupyter_client.multikernelmanager.MultiKernelManager.finish_shutdown:
  - 283
  - 284
  jupyter_client.multikernelmanager.MultiKernelManager.get_connection_info:
  - 419
  jupyter_client.multikernelmanager.MultiKernelManager.get_kernel:
  - 402
  - 395
  jupyter_client.multikernelmanager.MultiKernelManager.interrupt_kernel:
  - 321
  - 328
  - 329
  - 332
  - 333
  jupyter_client.multikernelmanager.MultiKernelManager.is_alive:
  - 378
  jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids:
  - 128
  - 125
  jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id:
  - 532
  - 526
  jupyter_client.multikernelmanager.MultiKernelManager.pre_start_kernel:
  - 141
  - 142
  - 145
  - 151
  - 153
  - 154
  jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel:
  - 298
  - 291
  jupyter_client.multikernelmanager.MultiKernelManager.remove_restart_callback:
  - 415
  jupyter_client.multikernelmanager.MultiKernelManager.request_shutdown:
  - 274
  jupyter_client.multikernelmanager.MultiKernelManager.signal_kernel:
  - 338
  - 350
  jupyter_client.multikernelmanager.kernel_method:
  - 26
  - 28
  jupyter_client.multikernelmanager.kernel_method.wrapped:
  - 33
  - 34
  - 36
  - 39
  jupyter_client.provisioning.factory:
  - 1
  - 10
  jupyter_client.provisioning.factory.KernelProvisionerFactory:
  - 45
  - 21
  - 39
  jupyter_client.provisioning.factory.KernelProvisionerFactory.__init__:
  - 51
  - 52
  - 54
  jupyter_client.provisioning.factory.KernelProvisionerFactory._check_availability:
  - 107
  - 117
  - 119
  jupyter_client.provisioning.factory.KernelProvisionerFactory._default_provisioner_name_default:
  - 48
  - 47
  jupyter_client.provisioning.factory.KernelProvisionerFactory._get_all_provisioners:
  - 168
  - 169
  jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner:
  - 196
  - 172
  - 173
  - 174
  - 185
  - 186
  - 187
  jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner_config:
  - 145
  - 146
  - 147
  - 150
  - 126
  jupyter_client.provisioning.factory.KernelProvisionerFactory.create_provisioner_instance:
  - 99
  - 100
  - 101
  - 79
  - 89
  - 90
  - 91
  - 95
  jupyter_client.provisioning.factory.KernelProvisionerFactory.get_provisioner_entries:
  - 162
  - 155
  jupyter_client.provisioning.factory.KernelProvisionerFactory.is_provisioner_available:
  - 65
  - 66
  - 67
  - 69
  - 58
  jupyter_client.provisioning.local_provisioner:
  - 1
  jupyter_client.provisioning.local_provisioner.LocalProvisioner:
  - 17
  jupyter_client.provisioning.local_provisioner.LocalProvisioner._scrub_kwargs:
  - 219
  - 221
  - 222
  - 223
  jupyter_client.provisioning.local_provisioner.LocalProvisioner._tolerate_no_process:
  - 129
  - 130
  - 137
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.cleanup:
  - 141
  - 142
  - 144
  - 152
  - 153
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.get_provisioner_info:
  - 227
  - 228
  - 229
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.kill:
  - 96
  - 97
  - 98
  - 101
  - 106
  - 108
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.launch_kernel:
  - 203
  - 204
  - 205
  - 207
  - 209
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.load_provisioner_info:
  - 233
  - 234
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.poll:
  - 40
  - 42
  - 43
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.pre_launch:
  - 193
  - 197
  - 166
  - 167
  - 200
  - 169
  - 173
  - 177
  - 181
  - 182
  - 183
  - 184
  - 185
  - 186
  - 187
  - 156
  - 190
  - 191
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.send_signal:
  - 68
  - 76
  - 77
  - 80
  - 84
  - 86
  - 92
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.terminate:
  - 111
  - 112
  - 113
  - 116
  - 121
  - 123
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.wait:
  - 47
  - 49
  - 54
  - 55
  - 58
  - 60
  - 61
  - 62
  - 63
  jupyter_client.provisioning.provisioner_base:
  - 1
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase:
  - 32
  - 33
  - 20
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.__apply_env_substitutions:
  - 248
  - 256
  - 237
  - 255
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase._finalize_env:
  - 234
  - 231
  - 223
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.cleanup:
  - 117
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_provisioner_info:
  - 174
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_shutdown_wait_time:
  - 203
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_stable_start_time:
  - 214
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.has_process:
  - 39
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.kill:
  - 80
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.launch_kernel:
  - 107
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.load_provisioner_info:
  - 189
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.poll:
  - 49
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.post_launch:
  - 165
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.pre_launch:
  - 140
  - 157
  - 158
  - 159
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.send_signal:
  - 70
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.shutdown_requested:
  - 128
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.terminate:
  - 93
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.wait:
  - 59
  jupyter_client.restarter:
  - 1
  jupyter_client.restarter.KernelRestarter:
  - 32
  - 38
  - 44
  - 17
  - 49
  - 19
  - 50
  - 21
  - 51
  - 52
  - 54
  - 58
  - 30
  jupyter_client.restarter.KernelRestarter._default_last_dead:
  - 56
  jupyter_client.restarter.KernelRestarter._fire_callbacks:
  - 104
  - 99
  - 100
  - 102
  jupyter_client.restarter.KernelRestarter.add_callback:
  - 74
  - 82
  jupyter_client.restarter.KernelRestarter.poll:
  - 130
  - 133
  - 139
  - 140
  - 151
  - 152
  - 155
  - 157
  - 158
  - 112
  - 113
  - 114
  - 115
  - 117
  - 118
  - 120
  - 125
  - 126
  - 127
  jupyter_client.restarter.KernelRestarter.remove_callback:
  - 85
  - 94
  jupyter_client.restarter.KernelRestarter.start:
  - 64
  jupyter_client.restarter.KernelRestarter.stop:
  - 69
  jupyter_client.runapp:
  - 1
  - 34
  - 35
  - 124
  - 19
  - 21
  - 23
  - 26
  - 28
  - 125
  - 30
  jupyter_client.runapp.RunApp:
  - 39
  - 44
  - 45
  - 46
  - 47
  - 48
  jupyter_client.runapp.RunApp.handle_sigint:
  - 80
  - 76
  - 77
  - 78
  jupyter_client.runapp.RunApp.init_kernel_info:
  - 96
  - 83
  - 85
  - 86
  - 87
  - 90
  - 92
  jupyter_client.runapp.RunApp.initialize:
  - 68
  - 69
  - 70
  - 71
  - 72
  - 73
  jupyter_client.runapp.RunApp.parse_command_line:
  - 61
  - 62
  - 63
  jupyter_client.runapp.RunApp.start:
  - 101
  - 102
  - 103
  - 104
  - 105
  - 106
  - 107
  - 108
  - 109
  - 111
  - 114
  - 115
  - 117
  jupyter_client.session:
  - 1
  - 139
  - 173
  jupyter_client.session.Message:
  - 242
  jupyter_client.session.Message.__init__:
  - 248
  - 250
  - 251
  - 252
  jupyter_client.session.Message.__iter__:
  - 257
  jupyter_client.session.Message.__repr__:
  - 260
  jupyter_client.session.Message.__str__:
  - 263
  jupyter_client.session.Session:
  - 512
  - 518
  - 394
  - 401
  - 406
  - 408
  - 409
  - 414
  - 422
  - 426
  - 300
  - 431
  - 435
  - 442
  - 454
  - 459
  - 467
  - 340
  - 468
  - 342
  - 477
  - 351
  - 479
  - 485
  - 359
  - 489
  - 491
  - 497
  - 499
  - 373
  - 507
  - 380
  jupyter_client.session.Session.__init__:
  - 527
  - 566
  - 567
  - 568
  - 570
  - 571
  - 572
  - 573
  - 574
  jupyter_client.session.Session._add_digest:
  - 995
  - 996
  - 1000
  - 1001
  - 1003
  jupyter_client.session.Session._check_packers:
  - 640
  - 641
  - 612
  - 618
  - 623
  - 633
  - 635
  - 636
  - 605
  jupyter_client.session.Session._check_packers.<lambda1>:
  - 640
  jupyter_client.session.Session._check_packers.<lambda2>:
  - 641
  jupyter_client.session.Session._cull_digest_history:
  - 1006
  - 1010
  - 1011
  - 1012
  - 1013
  - 1015
  - 1016
  jupyter_client.session.Session._key_changed:
  - 433
  jupyter_client.session.Session._key_default:
  - 429
  jupyter_client.session.Session._keyfile_changed:
  - 481
  - 482
  jupyter_client.session.Session._new_auth:
  - 462
  - 463
  jupyter_client.session.Session._pack_changed:
  - 494
  jupyter_client.session.Session._packer_changed:
  - 362
  - 371
  - 366
  jupyter_client.session.Session._session_changed:
  - 403
  jupyter_client.session.Session._session_default:
  - 397
  - 398
  jupyter_client.session.Session._signature_scheme_changed:
  - 449
  - 452
  - 445
  - 447
  jupyter_client.session.Session._unpack_changed:
  - 503
  jupyter_client.session.Session._unpacker_changed:
  - 392
  - 387
  - 383
  jupyter_client.session.Session.clone:
  - 579
  - 588
  - 589
  - 590
  - 592
  - 593
  jupyter_client.session.Session.deserialize:
  - 1024
  - 1050
  - 1052
  - 1053
  - 1054
  - 1056
  - 1057
  - 1059
  - 1062
  - 1064
  - 1066
  - 1067
  - 1068
  - 1071
  - 1074
  - 1075
  - 1078
  - 1079
  - 1080
  - 1081
  - 1084
  - 1085
  - 1087
  - 1088
  - 1090
  - 1091
  - 1093
  jupyter_client.session.Session.feed_identities:
  - 992
  - 977
  - 978
  - 979
  - 982
  - 984
  - 985
  - 955
  - 988
  jupyter_client.session.Session.msg:
  - 655
  - 662
  - 666
  - 668
  - 669
  - 670
  jupyter_client.session.Session.msg_header:
  - 644
  - 645
  jupyter_client.session.Session.msg_id:
  - 602
  jupyter_client.session.Session.recv:
  - 929
  - 931
  - 932
  - 935
  - 937
  - 945
  - 947
  - 916
  jupyter_client.session.Session.send:
  - 807
  - 811
  - 813
  - 815
  - 819
  - 821
  - 828
  - 829
  - 832
  - 833
  - 838
  - 844
  - 848
  - 849
  - 850
  - 851
  - 852
  - 855
  - 857
  - 858
  - 861
  - 863
  - 864
  - 865
  - 866
  - 764
  jupyter_client.session.Session.send_raw:
  - 896
  - 898
  - 899
  - 901
  - 903
  - 904
  - 905
  - 906
  - 907
  - 880
  jupyter_client.session.Session.serialize:
  - 693
  - 715
  - 716
  - 718
  - 719
  - 720
  - 723
  - 725
  - 730
  - 731
  - 732
  - 738
  - 740
  - 741
  - 742
  - 743
  - 745
  - 746
  - 748
  jupyter_client.session.Session.sign:
  - 674
  - 681
  - 683
  - 684
  - 685
  - 686
  jupyter_client.session.Session.unserialize:
  - 1096
  - 1098
  - 1102
  jupyter_client.session.SessionFactory:
  - 225
  - 227
  - 209
  - 213
  - 215
  - 220
  jupyter_client.session.SessionFactory.__init__:
  - 233
  - 234
  - 236
  - 238
  jupyter_client.session.SessionFactory._context_default:
  - 223
  jupyter_client.session.SessionFactory._logname_changed:
  - 217
  jupyter_client.session.SessionFactory._loop_default:
  - 230
  jupyter_client.session.default_secure:
  - 192
  - 186
  - 195
  - 191
  jupyter_client.session.extract_header:
  - 280
  - 281
  - 294
  - 295
  jupyter_client.session.json_packer:
  - 103
  - 104
  - 110
  - 93
  - 95
  jupyter_client.session.json_unpacker:
  - 121
  - 122
  - 123
  - 124
  jupyter_client.session.msg_header:
  - 273
  - 274
  - 276
  jupyter_client.session.new_id:
  - 147
  - 156
  - 157
  jupyter_client.session.new_id_bytes:
  - 161
  - 162
  jupyter_client.session.pickle_packer:
  - 128
  - 129
  jupyter_client.session.squash_unicode:
  - 65
  - 66
  - 67
  - 68
  - 69
  - 70
  - 71
  - 72
  - 73
  - 74
  - 75
  jupyter_client.session.utcnow:
  - 200
  - 199
  jupyter_client.ssh.forward:
  - 1
  - 30
  jupyter_client.ssh.forward.ForwardServer:
  - 34
  jupyter_client.ssh.forward.Handler:
  - 41
  jupyter_client.ssh.forward.Handler.handle:
  - 45
  - 47
  - 50
  - 53
  - 54
  - 57
  - 58
  - 64
  - 67
  - 68
  - 73
  - 74
  - 75
  - 76
  - 78
  - 79
  - 80
  - 81
  - 83
  - 84
  - 85
  - 86
  jupyter_client.ssh.forward.forward_tunnel:
  - 90
  - 100
  jupyter_client.ssh.tunnel:
  - 1
  - 397
  - 19
  - 20
  - 56
  jupyter_client.ssh.tunnel._paramiko_tunnel:
  - 385
  - 388
  - 357
  - 390
  - 391
  - 360
  - 361
  - 362
  - 363
  - 393
  - 394
  - 366
  - 381
  - 382
  jupyter_client.ssh.tunnel._split_server:
  - 288
  - 289
  - 290
  - 291
  - 285
  - 286
  jupyter_client.ssh.tunnel._stop_tunnel:
  - 281
  jupyter_client.ssh.tunnel._try_passwordless_openssh:
  - 73
  - 74
  - 78
  - 83
  - 84
  - 87
  - 90
  - 91
  jupyter_client.ssh.tunnel._try_passwordless_paramiko:
  - 103
  - 104
  - 106
  - 111
  - 112
  - 113
  - 114
  - 116
  - 120
  jupyter_client.ssh.tunnel.open_tunnel:
  - 160
  - 164
  - 146
  - 157
  - 158
  - 159
  jupyter_client.ssh.tunnel.openssh_tunnel:
  - 258
  - 259
  - 265
  - 266
  - 271
  - 272
  - 274
  - 275
  - 276
  - 179
  - 214
  - 218
  - 221
  - 222
  - 226
  - 227
  - 228
  - 236
  - 237
  - 238
  - 250
  - 251
  - 254
  jupyter_client.ssh.tunnel.paramiko_tunnel:
  - 352
  - 300
  - 339
  - 343
  - 344
  - 346
  jupyter_client.ssh.tunnel.select_random_ports:
  - 40
  - 43
  - 44
  - 45
  - 46
  - 47
  - 48
  - 49
  jupyter_client.ssh.tunnel.try_passwordless_ssh:
  - 66
  - 60
  - 69
  jupyter_client.ssh.tunnel.tunnel_connection:
  - 125
  - 133
  - 141
  jupyter_client.threaded:
  - 1
  jupyter_client.threaded.IOLoopThread:
  - 198
  jupyter_client.threaded.IOLoopThread.__del__:
  - 254
  jupyter_client.threaded.IOLoopThread.__init__:
  - 204
  - 205
  jupyter_client.threaded.IOLoopThread._async_run:
  - 233
  - 235
  - 237
  - 238
  jupyter_client.threaded.IOLoopThread._notice_exit:
  - 213
  jupyter_client.threaded.IOLoopThread.close:
  - 257
  - 258
  - 260
  jupyter_client.threaded.IOLoopThread.run:
  - 227
  - 228
  - 229
  - 230
  jupyter_client.threaded.IOLoopThread.start:
  - 224
  - 217
  - 222
  - 223
  jupyter_client.threaded.IOLoopThread.stop:
  - 249
  - 242
  - 250
  jupyter_client.threaded.ThreadedKernelClient:
  - 266
  - 303
  - 272
  - 305
  - 304
  - 306
  - 307
  jupyter_client.threaded.ThreadedKernelClient._check_kernel_info_reply:
  - 292
  - 293
  - 294
  jupyter_client.threaded.ThreadedKernelClient.is_alive:
  - 314
  - 310
  - 311
  jupyter_client.threaded.ThreadedKernelClient.start_channels:
  - 289
  - 282
  - 283
  - 284
  - 286
  jupyter_client.threaded.ThreadedKernelClient.stop_channels:
  - 298
  - 299
  - 300
  - 301
  jupyter_client.threaded.ThreadedZMQSocketChannel:
  - 27
  jupyter_client.threaded.ThreadedZMQSocketChannel.__init__:
  - 66
  - 67
  - 41
  - 52
  - 57
  jupyter_client.threaded.ThreadedZMQSocketChannel.__init__.setup_stream:
  - 61
  - 62
  - 63
  jupyter_client.threaded.ThreadedZMQSocketChannel._flush:
  - 193
  - 191
  jupyter_client.threaded.ThreadedZMQSocketChannel._handle_recv:
  - 134
  - 140
  - 141
  - 143
  - 144
  - 145
  jupyter_client.threaded.ThreadedZMQSocketChannel.call_handlers:
  - 148
  jupyter_client.threaded.ThreadedZMQSocketChannel.close:
  - 99
  - 102
  - 104
  - 106
  - 108
  - 110
  - 84
  - 85
  - 87
  jupyter_client.threaded.ThreadedZMQSocketChannel.close.close_stream:
  - 97
  - 91
  - 92
  - 95
  jupyter_client.threaded.ThreadedZMQSocketChannel.flush:
  - 164
  - 182
  - 184
  - 186
  - 187
  - 188
  jupyter_client.threaded.ThreadedZMQSocketChannel.is_alive:
  - 72
  jupyter_client.threaded.ThreadedZMQSocketChannel.process_events:
  - 158
  jupyter_client.threaded.ThreadedZMQSocketChannel.send:
  - 131
  - 116
  jupyter_client.threaded.ThreadedZMQSocketChannel.send.thread_send:
  - 128
  jupyter_client.threaded.ThreadedZMQSocketChannel.start:
  - 76
  jupyter_client.threaded.ThreadedZMQSocketChannel.stop:
  - 80
  jupyter_client.utils:
  - 1
  jupyter_client.utils._expand_path:
  - 66
  - 80
  - 81
  - 82
  - 83
  - 84
  jupyter_client.utils._filefind:
  - 12
  - 45
  - 47
  - 50
  - 52
  - 55
  - 56
  - 57
  - 58
  - 59
  - 60
  jupyter_client.win_interrupt:
  - 1
  jupyter_client.win_interrupt.create_interrupt_event:
  - 32
  - 36
  - 12
  - 30
  - 31
  jupyter_client.win_interrupt.send_interrupt:
  - 43
  - 44
  jupyter_server:
  - 1
  - 5
  - 7
  - 8
  - 13
  jupyter_server.__main__:
  - 1
  - 3
  - 6
  jupyter_server._sysinfo:
  - 1
  jupyter_server._sysinfo.get_sys_info:
  - 90
  - 92
  - 93
  jupyter_server._sysinfo.pkg_commit_hash:
  - 41
  - 43
  - 15
  - 49
  - 53
  - 54
  - 57
  jupyter_server._sysinfo.pkg_info:
  - 75
  - 84
  - 63
  jupyter_server._tz:
  - 1
  - 39
  - 40
  - 11
  - 26
  jupyter_server._tz.isoformat:
  - 48
  - 44
  jupyter_server._tz.tzUTC:
  - 15
  jupyter_server._tz.tzUTC.dst:
  - 22
  jupyter_server._tz.tzUTC.utcoffset:
  - 18
  jupyter_server._tz.utc_aware:
  - 30
  jupyter_server._tz.utc_aware.utc_method:
  - 33
  - 34
  jupyter_server._version:
  - 1
  - 13
  - 15
  - 16
  - 17
  - 18
  jupyter_server.auth.__main__:
  - 1
  - 61
  - 62
  jupyter_server.auth.__main__.main:
  - 44
  - 45
  - 46
  - 47
  - 50
  - 55
  - 56
  - 57
  - 58
  jupyter_server.auth.__main__.set_password:
  - 38
  - 39
  - 40
  - 15
  - 19
  - 20
  - 21
  - 22
  - 23
  - 24
  - 28
  - 29
  - 30
  jupyter_server.auth.authorizer:
  - 1
  - 19
  jupyter_server.auth.authorizer.AllowAllAuthorizer:
  - 72
  jupyter_server.auth.authorizer.AllowAllAuthorizer.is_authorized:
  - 82
  jupyter_server.auth.authorizer.Authorizer:
  - 24
  - 43
  jupyter_server.auth.authorizer.Authorizer.is_authorized:
  - 48
  jupyter_server.auth.decorator:
  - 1
  jupyter_server.auth.decorator.authorized:
  - 74
  - 19
  - 70
  jupyter_server.auth.decorator.authorized.wrapper:
  - 42
  jupyter_server.auth.decorator.authorized.wrapper.inner:
  - 48
  - 49
  - 51
  - 53
  - 57
  - 58
  - 62
  - 63
  jupyter_server.auth.identity:
  - 1
  - 35
  - 31
  jupyter_server.auth.identity.IdentityProvider:
  - 192
  - 131
  - 163
  - 165
  - 134
  - 197
  - 137
  - 139
  - 145
  - 115
  - 149
  - 181
  - 214
  - 185
  - 155
  - 188
  - 157
  - 414
  jupyter_server.auth.identity.IdentityProvider._force_clear_cookie:
  - 355
  - 368
  - 369
  - 371
  - 372
  - 373
  - 375
  - 377
  jupyter_server.auth.identity.IdentityProvider._get_user:
  - 257
  - 261
  - 262
  - 263
  - 232
  - 233
  - 264
  - 265
  - 236
  - 237
  - 266
  - 269
  - 240
  - 241
  - 272
  - 248
  - 251
  - 252
  jupyter_server.auth.identity.IdentityProvider._token_default:
  - 199
  - 202
  - 204
  - 205
  - 206
  - 212
  jupyter_server.auth.identity.IdentityProvider.auth_enabled:
  - 547
  jupyter_server.auth.identity.IdentityProvider.clear_login_cookie:
  - 384
  - 385
  - 386
  - 391
  - 380
  - 382
  - 383
  jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user:
  - 468
  - 473
  - 474
  - 478
  - 479
  jupyter_server.auth.identity.IdentityProvider.get_cookie_name:
  - 331
  - 325
  - 334
  jupyter_server.auth.identity.IdentityProvider.get_handlers:
  - 288
  - 289
  - 290
  - 282
  - 287
  jupyter_server.auth.identity.IdentityProvider.get_token:
  - 417
  - 424
  - 425
  - 427
  - 428
  - 429
  jupyter_server.auth.identity.IdentityProvider.get_user:
  - 217
  - 226
  jupyter_server.auth.identity.IdentityProvider.get_user_cookie:
  - 394
  - 398
  - 399
  - 402
  - 404
  - 407
  - 410
  - 411
  jupyter_server.auth.identity.IdentityProvider.get_user_token:
  - 453
  - 457
  - 458
  - 461
  - 462
  - 433
  - 440
  - 443
  - 445
  - 447
  jupyter_server.auth.identity.IdentityProvider.identity_model:
  - 277
  - 279
  jupyter_server.auth.identity.IdentityProvider.is_token_authenticated:
  - 493
  - 502
  - 503
  jupyter_server.auth.identity.IdentityProvider.login_available:
  - 558
  jupyter_server.auth.identity.IdentityProvider.logout_available:
  - 563
  jupyter_server.auth.identity.IdentityProvider.process_login_form:
  - 530
  - 534
  - 536
  - 537
  - 538
  - 540
  - 541
  jupyter_server.auth.identity.IdentityProvider.set_login_cookie:
  - 337
  - 339
  - 340
  - 344
  - 346
  - 347
  - 348
  - 349
  - 350
  jupyter_server.auth.identity.IdentityProvider.should_check_origin:
  - 482
  - 490
  jupyter_server.auth.identity.IdentityProvider.user_from_cookie:
  - 313
  - 314
  - 315
  jupyter_server.auth.identity.IdentityProvider.user_to_cookie:
  - 301
  - 294
  jupyter_server.auth.identity.IdentityProvider.validate_security:
  - 514
  - 516
  - 517
  - 518
  - 519
  - 523
  - 524
  - 510
  jupyter_server.auth.identity.LegacyIdentityProvider:
  - 684
  - 677
  - 686
  - 693
  jupyter_server.auth.identity.LegacyIdentityProvider.get_user:
  - 704
  - 705
  - 706
  - 708
  jupyter_server.auth.identity.LegacyIdentityProvider.is_token_authenticated:
  - 720
  - 719
  jupyter_server.auth.identity.LegacyIdentityProvider.login_available:
  - 712
  jupyter_server.auth.identity.LegacyIdentityProvider.should_check_origin:
  - 715
  - 716
  jupyter_server.auth.identity.LegacyIdentityProvider.validate_security:
  - 727
  - 728
  - 729
  - 730
  - 732
  - 733
  - 734
  - 735
  jupyter_server.auth.identity.PasswordIdentityProvider:
  - 605
  - 586
  - 618
  - 589
  - 602
  - 568
  - 570
  - 573
  jupyter_server.auth.identity.PasswordIdentityProvider._need_token_default:
  - 620
  jupyter_server.auth.identity.PasswordIdentityProvider.auth_enabled:
  - 629
  - 630
  jupyter_server.auth.identity.PasswordIdentityProvider.login_available:
  - 624
  jupyter_server.auth.identity.PasswordIdentityProvider.passwd_check:
  - 633
  - 634
  jupyter_server.auth.identity.PasswordIdentityProvider.process_login_form:
  - 641
  - 642
  - 644
  - 645
  - 646
  - 648
  - 649
  - 650
  - 651
  - 652
  - 653
  - 654
  - 655
  - 656
  - 637
  jupyter_server.auth.identity.PasswordIdentityProvider.validate_security:
  - 672
  - 673
  - 665
  - 666
  - 667
  - 668
  - 669
  - 671
  jupyter_server.auth.identity.User:
  - 40
  jupyter_server.auth.identity.User.__post_init__:
  - 63
  jupyter_server.auth.identity.User.fill_defaults:
  - 81
  - 66
  - 74
  - 79
  jupyter_server.auth.identity._backward_compat_user:
  - 96
  - 97
  - 99
  - 101
  - 102
  - 105
  - 86
  - 95
  jupyter_server.auth.login:
  - 1
  jupyter_server.auth.login.LegacyLoginHandler:
  - 138
  - 86
  jupyter_server.auth.login.LegacyLoginHandler.get_login_available:
  - 274
  - 276
  jupyter_server.auth.login.LegacyLoginHandler.get_token:
  - 142
  - 150
  - 151
  - 153
  - 154
  - 155
  jupyter_server.auth.login.LegacyLoginHandler.get_user:
  - 192
  - 196
  - 197
  - 198
  - 199
  - 173
  - 176
  - 178
  - 179
  - 183
  - 186
  - 187
  jupyter_server.auth.login.LegacyLoginHandler.get_user_cookie:
  - 210
  - 211
  - 212
  - 213
  - 214
  jupyter_server.auth.login.LegacyLoginHandler.get_user_token:
  - 224
  - 226
  - 228
  - 234
  - 238
  - 239
  - 241
  - 242
  - 219
  - 221
  jupyter_server.auth.login.LegacyLoginHandler.hashed_password:
  - 94
  jupyter_server.auth.login.LegacyLoginHandler.is_token_authenticated:
  - 168
  - 169
  - 165
  - 166
  jupyter_server.auth.login.LegacyLoginHandler.passwd_check:
  - 97
  - 98
  jupyter_server.auth.login.LegacyLoginHandler.password_from_settings:
  - 269
  - 270
  jupyter_server.auth.login.LegacyLoginHandler.post:
  - 101
  - 102
  - 103
  - 105
  - 106
  - 107
  - 108
  - 109
  - 110
  - 111
  - 112
  - 115
  - 116
  - 118
  - 119
  - 122
  - 123
  jupyter_server.auth.login.LegacyLoginHandler.set_login_cookie:
  - 128
  - 129
  - 132
  - 133
  - 134
  - 135
  - 127
  jupyter_server.auth.login.LegacyLoginHandler.should_check_origin:
  - 160
  - 161
  jupyter_server.auth.login.LegacyLoginHandler.validate_security:
  - 256
  - 257
  - 261
  - 262
  - 251
  - 252
  - 254
  - 255
  jupyter_server.auth.login.LoginFormHandler:
  - 16
  jupyter_server.auth.login.LoginFormHandler._redirect_safe:
  - 32
  - 38
  - 43
  - 44
  - 45
  - 49
  - 52
  - 53
  - 55
  - 56
  - 57
  - 59
  - 61
  jupyter_server.auth.login.LoginFormHandler._render:
  - 24
  - 26
  - 22
  - 23
  jupyter_server.auth.login.LoginFormHandler.get:
  - 64
  - 65
  - 66
  - 67
  - 69
  jupyter_server.auth.login.LoginFormHandler.post:
  - 72
  - 73
  - 74
  - 75
  - 76
  - 79
  - 80
  - 81
  - 82
  jupyter_server.auth.logout:
  - 1
  jupyter_server.auth.logout.LogoutHandler:
  - 9
  jupyter_server.auth.logout.LogoutHandler.get:
  - 18
  - 12
  - 13
  - 14
  jupyter_server.auth.security:
  - 1
  jupyter_server.auth.security.passwd:
  - 68
  - 70
  - 72
  - 73
  - 74
  - 76
  - 47
  - 48
  - 49
  - 50
  - 51
  - 22
  - 55
  - 60
  - 63
  jupyter_server.auth.security.passwd_check:
  - 128
  - 131
  - 133
  - 107
  - 111
  - 80
  - 114
  - 119
  - 124
  jupyter_server.auth.security.persist_config:
  - 161
  - 163
  - 164
  - 138
  - 144
  - 145
  - 147
  - 149
  - 151
  - 153
  - 155
  - 157
  - 158
  jupyter_server.auth.security.set_password:
  - 170
  - 172
  - 174
  jupyter_server.auth.utils:
  - 1
  jupyter_server.auth.utils.get_anonymous_username:
  - 169
  - 165
  jupyter_server.auth.utils.get_regex_to_resource_map:
  - 33
  - 43
  - 44
  - 45
  - 47
  - 48
  - 50
  - 55
  jupyter_server.auth.utils.match_url_to_resource:
  - 65
  - 72
  - 73
  - 74
  - 75
  - 76
  jupyter_server.auth.utils.warn_disabled_authorization:
  - 12
  - 13
  jupyter_server.base.handlers:
  - 1
  - 43
  jupyter_server.base.handlers.APIHandler:
  - 715
  jupyter_server.base.handlers.APIHandler.content_security_policy:
  - 754
  jupyter_server.base.handlers.APIHandler.finish:
  - 776
  - 777
  - 779
  - 780
  - 781
  jupyter_server.base.handlers.APIHandler.get_login_url:
  - 744
  - 748
  - 750
  jupyter_server.base.handlers.APIHandler.options:
  - 803
  - 806
  - 808
  - 784
  - 785
  - 786
  - 817
  - 820
  - 791
  - 795
  jupyter_server.base.handlers.APIHandler.prepare:
  - 720
  - 718
  - 719
  jupyter_server.base.handlers.APIHandler.update_api_activity:
  - 768
  - 770
  - 771
  - 773
  - 766
  jupyter_server.base.handlers.APIHandler.write_error:
  - 739
  - 740
  - 741
  - 724
  - 725
  - 726
  - 730
  - 731
  - 733
  jupyter_server.base.handlers.APIVersionHandler:
  - 1000
  jupyter_server.base.handlers.APIVersionHandler.get:
  - 1003
  - 1005
  jupyter_server.base.handlers.AuthenticatedFileHandler:
  - 833
  jupyter_server.base.handlers.AuthenticatedFileHandler.compute_etag:
  - 885
  jupyter_server.base.handlers.AuthenticatedFileHandler.content_security_policy:
  - 841
  jupyter_server.base.handlers.AuthenticatedFileHandler.get:
  - 853
  - 854
  - 855
  - 856
  - 858
  jupyter_server.base.handlers.AuthenticatedFileHandler.get_content_type:
  - 864
  - 865
  - 868
  - 871
  - 872
  - 875
  - 861
  - 863
  jupyter_server.base.handlers.AuthenticatedFileHandler.head:
  - 848
  - 846
  - 847
  jupyter_server.base.handlers.AuthenticatedFileHandler.set_headers:
  - 881
  - 882
  - 878
  - 879
  jupyter_server.base.handlers.AuthenticatedFileHandler.validate_absolute_path:
  - 896
  - 898
  - 899
  - 889
  - 895
  jupyter_server.base.handlers.AuthenticatedHandler:
  - 70
  jupyter_server.base.handlers.AuthenticatedHandler.authorizer:
  - 231
  - 232
  - 236
  - 217
  - 218
  jupyter_server.base.handlers.AuthenticatedHandler.base_url:
  - 74
  jupyter_server.base.handlers.AuthenticatedHandler.clear_login_cookie:
  - 138
  - 139
  - 146
  jupyter_server.base.handlers.AuthenticatedHandler.content_security_policy:
  - 86
  - 82
  - 78
  jupyter_server.base.handlers.AuthenticatedHandler.cookie_name:
  - 124
  - 117
  jupyter_server.base.handlers.AuthenticatedHandler.force_clear_cookie:
  - 128
  - 135
  - 127
  jupyter_server.base.handlers.AuthenticatedHandler.get_current_user:
  - 155
  - 149
  - 157
  jupyter_server.base.handlers.AuthenticatedHandler.identity_provider:
  - 240
  - 241
  - 254
  - 255
  jupyter_server.base.handlers.AuthenticatedHandler.logged_in:
  - 184
  jupyter_server.base.handlers.AuthenticatedHandler.login_available:
  - 207
  jupyter_server.base.handlers.AuthenticatedHandler.login_handler:
  - 190
  - 191
  jupyter_server.base.handlers.AuthenticatedHandler.set_default_headers:
  - 96
  - 99
  - 104
  - 106
  - 111
  jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin:
  - 175
  - 172
  - 167
  jupyter_server.base.handlers.AuthenticatedHandler.token:
  - 202
  jupyter_server.base.handlers.AuthenticatedHandler.token_authenticated:
  - 179
  - 180
  jupyter_server.base.handlers.FileFindHandler:
  - 941
  jupyter_server.base.handlers.FileFindHandler.compute_etag:
  - 967
  jupyter_server.base.handlers.FileFindHandler.get_absolute_path:
  - 984
  - 977
  - 972
  - 974
  jupyter_server.base.handlers.FileFindHandler.initialize:
  - 960
  - 963
  - 957
  jupyter_server.base.handlers.FileFindHandler.set_headers:
  - 948
  - 949
  - 951
  - 952
  - 954
  jupyter_server.base.handlers.FileFindHandler.validate_absolute_path:
  - 992
  - 993
  - 996
  - 988
  - 989
  jupyter_server.base.handlers.FilesRedirectHandler:
  - 1039
  jupyter_server.base.handlers.FilesRedirectHandler.get:
  - 1071
  jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files:
  - 1056
  - 1059
  - 1060
  - 1061
  - 1063
  - 1066
  - 1067
  - 1068
  - 1043
  - 1048
  - 1050
  - 1054
  jupyter_server.base.handlers.JupyterHandler:
  - 261
  jupyter_server.base.handlers.JupyterHandler.allow_credentials:
  - 368
  - 369
  jupyter_server.base.handlers.JupyterHandler.allow_origin:
  - 358
  - 359
  jupyter_server.base.handlers.JupyterHandler.allow_origin_pat:
  - 363
  - 364
  jupyter_server.base.handlers.JupyterHandler.check_host:
  - 546
  - 550
  - 552
  - 555
  - 559
  - 560
  - 564
  - 567
  - 571
  - 572
  - 542
  jupyter_server.base.handlers.JupyterHandler.check_origin:
  - 448
  - 451
  - 455
  - 425
  - 457
  - 458
  - 462
  - 463
  - 432
  - 435
  - 436
  - 444
  - 447
  jupyter_server.base.handlers.JupyterHandler.check_referer:
  - 480
  - 483
  - 484
  - 486
  - 487
  - 489
  - 490
  - 493
  - 495
  - 500
  - 502
  - 503
  - 472
  - 508
  - 509
  jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie:
  - 518
  - 519
  - 522
  - 527
  - 529
  - 531
  - 532
  - 533
  jupyter_server.base.handlers.JupyterHandler.config:
  - 268
  jupyter_server.base.handlers.JupyterHandler.contents_js_source:
  - 314
  - 316
  - 318
  jupyter_server.base.handlers.JupyterHandler.default_url:
  - 306
  jupyter_server.base.handlers.JupyterHandler.get_json_body:
  - 662
  - 663
  - 666
  - 668
  - 670
  - 671
  jupyter_server.base.handlers.JupyterHandler.get_origin:
  - 416
  - 417
  - 419
  jupyter_server.base.handlers.JupyterHandler.get_template:
  - 628
  - 629
  jupyter_server.base.handlers.JupyterHandler.jinja_template_vars:
  - 277
  - 278
  jupyter_server.base.handlers.JupyterHandler.log:
  - 272
  - 273
  jupyter_server.base.handlers.JupyterHandler.mathjax_config:
  - 302
  jupyter_server.base.handlers.JupyterHandler.mathjax_url:
  - 296
  - 298
  - 295
  jupyter_server.base.handlers.JupyterHandler.prepare:
  - 608
  - 584
  - 585
  - 618
  - 619
  - 620
  - 621
  - 591
  - 595
  - 599
  - 605
  - 607
  jupyter_server.base.handlers.JupyterHandler.render_template:
  - 632
  - 633
  - 634
  - 635
  jupyter_server.base.handlers.JupyterHandler.set_attachment_header:
  - 402
  - 403
  - 405
  - 398
  jupyter_server.base.handlers.JupyterHandler.set_cors_headers:
  - 384
  - 385
  - 386
  - 387
  - 392
  - 394
  - 395
  - 376
  - 381
  - 382
  - 383
  jupyter_server.base.handlers.JupyterHandler.set_default_headers:
  - 372
  - 373
  jupyter_server.base.handlers.JupyterHandler.template_namespace:
  - 644
  - 647
  - 649
  - 654
  - 655
  - 656
  - 639
  jupyter_server.base.handlers.JupyterHandler.version_hash:
  - 290
  - 291
  jupyter_server.base.handlers.JupyterHandler.write_error:
  - 704
  - 707
  - 676
  - 677
  - 709
  - 679
  - 711
  - 681
  - 690
  - 691
  jupyter_server.base.handlers.JupyterHandler.ws_url:
  - 310
  jupyter_server.base.handlers.MainHandler:
  - 1028
  jupyter_server.base.handlers.MainHandler.get:
  - 1032
  - 1033
  - 1031
  jupyter_server.base.handlers.PrometheusMetricsHandler:
  - 1090
  jupyter_server.base.handlers.PrometheusMetricsHandler.get:
  - 1096
  - 1099
  - 1100
  - 1095
  jupyter_server.base.handlers.RedirectWithParams:
  - 1075
  jupyter_server.base.handlers.RedirectWithParams.get:
  - 1083
  - 1085
  - 1086
  jupyter_server.base.handlers.RedirectWithParams.initialize:
  - 1078
  jupyter_server.base.handlers.Template404:
  - 824
  jupyter_server.base.handlers.Template404.prepare:
  - 827
  - 828
  jupyter_server.base.handlers.TrailingSlashHandler:
  - 1009
  jupyter_server.base.handlers.TrailingSlashHandler.get:
  - 1015
  - 1017
  - 1020
  - 1021
  - 1022
  jupyter_server.base.handlers.json_errors:
  - 907
  - 924
  - 918
  jupyter_server.base.handlers.json_errors.wrapper:
  - 926
  - 927
  jupyter_server.base.handlers.json_sys_info:
  - 56
  - 57
  - 54
  jupyter_server.base.handlers.log:
  - 64
  - 62
  - 63
  jupyter_server.base.websocket:
  - 1
  jupyter_server.base.websocket.WebSocketMixin:
  - 14
  jupyter_server.base.websocket.WebSocketMixin.check_origin:
  - 67
  - 69
  - 70
  - 41
  - 74
  - 75
  - 46
  - 47
  - 51
  - 52
  - 53
  - 56
  - 59
  - 60
  - 63
  jupyter_server.base.websocket.WebSocketMixin.clear_cookie:
  - 83
  jupyter_server.base.websocket.WebSocketMixin.on_pong:
  - 128
  - 129
  jupyter_server.base.websocket.WebSocketMixin.open:
  - 96
  - 100
  - 101
  - 88
  - 89
  - 92
  - 93
  - 94
  jupyter_server.base.websocket.WebSocketMixin.ping_interval:
  - 27
  - 23
  jupyter_server.base.websocket.WebSocketMixin.ping_timeout:
  - 35
  - 36
  - 31
  jupyter_server.base.websocket.WebSocketMixin.send_ping:
  - 105
  - 106
  - 107
  - 110
  - 111
  - 116
  - 119
  - 120
  - 121
  - 124
  jupyter_server.base.zmqhandlers:
  - 1
  - 15
  jupyter_server.config_manager:
  - 1
  jupyter_server.config_manager.BaseJSONConfigManager:
  - 56
  - 49
  - 55
  jupyter_server.config_manager.BaseJSONConfigManager.directory:
  - 72
  - 71
  jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists:
  - 59
  - 61
  - 63
  jupyter_server.config_manager.BaseJSONConfigManager.file_name:
  - 67
  - 68
  jupyter_server.config_manager.BaseJSONConfigManager.get:
  - 98
  - 99
  - 100
  - 101
  - 75
  - 83
  - 84
  - 85
  - 91
  - 92
  - 95
  jupyter_server.config_manager.BaseJSONConfigManager.set:
  - 105
  - 106
  - 107
  - 109
  - 111
  - 112
  - 113
  - 117
  - 118
  - 119
  jupyter_server.config_manager.BaseJSONConfigManager.update:
  - 128
  - 122
  - 126
  - 127
  jupyter_server.config_manager.recursive_update:
  - 15
  - 19
  - 20
  - 21
  - 23
  - 24
  - 28
  - 29
  jupyter_server.config_manager.remove_defaults:
  - 36
  - 38
  - 39
  - 40
  - 41
  - 42
  - 44
  jupyter_server.extension.application:
  - 1
  jupyter_server.extension.application.ExtensionApp:
  - 256
  - 257
  - 258
  - 265
  - 267
  - 150
  - 159
  - 192
  - 194
  - 198
  - 201
  - 209
  - 211
  - 227
  - 231
  - 238
  - 242
  - 247
  - 248
  - 124
  jupyter_server.extension.application.ExtensionApp._config_file_name_default:
  - 273
  - 270
  - 271
  jupyter_server.extension.application.ExtensionApp._default_log_format:
  - 233
  jupyter_server.extension.application.ExtensionApp._default_open_browser:
  - 161
  jupyter_server.extension.application.ExtensionApp._default_serverapp:
  - 216
  - 214
  - 223
  jupyter_server.extension.application.ExtensionApp._default_static_url_prefix:
  - 245
  jupyter_server.extension.application.ExtensionApp._jupyter_server_config:
  - 372
  - 364
  jupyter_server.extension.application.ExtensionApp._link_jupyter_server_extension:
  - 390
  - 397
  - 401
  - 405
  - 376
  jupyter_server.extension.application.ExtensionApp._load_jupyter_server_extension:
  - 464
  - 465
  - 466
  - 455
  jupyter_server.extension.application.ExtensionApp._prepare_config:
  - 288
  - 291
  - 292
  jupyter_server.extension.application.ExtensionApp._prepare_handlers:
  - 320
  - 353
  - 355
  - 324
  - 326
  - 331
  - 335
  - 340
  - 343
  - 345
  - 316
  jupyter_server.extension.application.ExtensionApp._prepare_settings:
  - 296
  - 299
  - 302
  - 310
  - 313
  jupyter_server.extension.application.ExtensionApp._prepare_templates:
  - 360
  - 361
  - 358
  - 359
  jupyter_server.extension.application.ExtensionApp.config_file_paths:
  - 165
  jupyter_server.extension.application.ExtensionApp.current_activity:
  - 442
  jupyter_server.extension.application.ExtensionApp.get_extension_package:
  - 177
  - 178
  - 179
  - 181
  jupyter_server.extension.application.ExtensionApp.get_extension_point:
  - 186
  jupyter_server.extension.application.ExtensionApp.initialize:
  - 419
  - 427
  - 428
  - 429
  - 430
  - 410
  jupyter_server.extension.application.ExtensionApp.initialize_handlers:
  - 280
  jupyter_server.extension.application.ExtensionApp.initialize_server:
  - 576
  - 577
  - 562
  - 569
  - 571
  - 572
  - 575
  jupyter_server.extension.application.ExtensionApp.initialize_settings:
  - 276
  jupyter_server.extension.application.ExtensionApp.initialize_templates:
  - 284
  jupyter_server.extension.application.ExtensionApp.launch_instance:
  - 610
  - 611
  - 612
  - 617
  - 586
  - 591
  - 598
  - 599
  - 600
  - 606
  - 607
  jupyter_server.extension.application.ExtensionApp.load_classic_server_extension:
  - 548
  - 471
  - 472
  - 474
  - 475
  - 476
  - 478
  jupyter_server.extension.application.ExtensionApp.make_serverapp:
  - 554
  - 558
  jupyter_server.extension.application.ExtensionApp.start:
  - 433
  - 437
  - 439
  jupyter_server.extension.application.ExtensionApp.stop:
  - 449
  - 450
  - 451
  jupyter_server.extension.application.ExtensionApp.stop_extension:
  - 446
  jupyter_server.extension.application.ExtensionAppJinjaMixin:
  - 80
  - 82
  - 83
  jupyter_server.extension.application.ExtensionAppJinjaMixin._prepare_templates:
  - 98
  - 99
  - 106
  - 91
  - 92
  - 94
  - 95
  jupyter_server.extension.application.JupyterServerExtensionException:
  - 115
  jupyter_server.extension.application._preparse_for_stopping_flags:
  - 64
  - 67
  - 68
  - 69
  - 70
  - 73
  - 74
  - 43
  - 75
  - 76
  - 56
  - 61
  - 62
  - 63
  jupyter_server.extension.application._preparse_for_subcommand:
  - 32
  - 35
  - 37
  - 38
  - 26
  - 28
  jupyter_server.extension.config:
  - 1
  jupyter_server.extension.config.ExtensionConfigManager:
  - 8
  jupyter_server.extension.config.ExtensionConfigManager.disable:
  - 33
  - 35
  jupyter_server.extension.config.ExtensionConfigManager.enable:
  - 28
  - 30
  jupyter_server.extension.config.ExtensionConfigManager.enabled:
  - 20
  - 21
  jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions:
  - 16
  - 17
  - 14
  jupyter_server.extension.handler:
  - 1
  jupyter_server.extension.handler.ExtensionHandlerJinjaMixin:
  - 10
  jupyter_server.extension.handler.ExtensionHandlerJinjaMixin.get_template:
  - 16
  - 19
  - 21
  jupyter_server.extension.handler.ExtensionHandlerMixin:
  - 25
  jupyter_server.extension.handler.ExtensionHandlerMixin.base_url:
  - 71
  jupyter_server.extension.handler.ExtensionHandlerMixin.initialize:
  - 38
  jupyter_server.extension.handler.ExtensionHandlerMixin.log:
  - 53
  - 54
  jupyter_server.extension.handler.ExtensionHandlerMixin.static_url:
  - 130
  - 100
  - 102
  - 111
  - 82
  - 115
  - 116
  - 118
  jupyter_server.extension.manager:
  - 1
  jupyter_server.extension.manager.ExtensionManager:
  - 258
  - 232
  - 239
  - 241
  - 274
  - 243
  - 249
  jupyter_server.extension.manager.ExtensionManager._config_manager_changed:
  - 251
  - 252
  jupyter_server.extension.manager.ExtensionManager._load_config_manager:
  - 305
  - 306
  - 307
  jupyter_server.extension.manager.ExtensionManager._load_default_config_manager:
  - 245
  - 246
  jupyter_server.extension.manager.ExtensionManager.add_extension:
  - 315
  - 324
  - 326
  - 319
  jupyter_server.extension.manager.ExtensionManager.any_activity:
  - 401
  - 402
  - 403
  - 404
  jupyter_server.extension.manager.ExtensionManager.extension_apps:
  - 284
  - 286
  - 287
  jupyter_server.extension.manager.ExtensionManager.extension_points:
  - 296
  - 292
  - 295
  jupyter_server.extension.manager.ExtensionManager.from_config_manager:
  - 300
  jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions:
  - 312
  - 310
  - 311
  jupyter_server.extension.manager.ExtensionManager.link_all_extensions:
  - 379
  - 380
  - 374
  jupyter_server.extension.manager.ExtensionManager.link_extension:
  - 336
  - 337
  - 339
  - 342
  - 344
  - 346
  - 348
  jupyter_server.extension.manager.ExtensionManager.load_all_extensions:
  - 388
  - 389
  - 383
  jupyter_server.extension.manager.ExtensionManager.load_extension:
  - 352
  - 354
  - 356
  - 358
  - 360
  - 364
  - 351
  jupyter_server.extension.manager.ExtensionManager.sorted_extensions:
  - 267
  - 268
  jupyter_server.extension.manager.ExtensionManager.stop_all_extensions:
  - 392
  - 393
  - 395
  - 396
  jupyter_server.extension.manager.ExtensionManager.stop_extension:
  - 367
  - 368
  - 369
  - 370
  - 371
  jupyter_server.extension.manager.ExtensionPackage:
  - 160
  - 162
  - 163
  - 164
  - 165
  - 166
  - 173
  - 151
  - 159
  jupyter_server.extension.manager.ExtensionPackage.__init__:
  - 180
  - 181
  - 182
  - 183
  jupyter_server.extension.manager.ExtensionPackage._load_metadata:
  - 192
  - 201
  - 186
  - 200
  jupyter_server.extension.manager.ExtensionPackage._load_version:
  - 177
  - 175
  jupyter_server.extension.manager.ExtensionPackage.link_all_points:
  - 224
  - 222
  - 223
  jupyter_server.extension.manager.ExtensionPackage.link_point:
  - 210
  - 211
  - 212
  - 214
  jupyter_server.extension.manager.ExtensionPackage.load_all_points:
  - 227
  - 228
  jupyter_server.extension.manager.ExtensionPackage.load_point:
  - 217
  - 219
  jupyter_server.extension.manager.ExtensionPackage.validate:
  - 206
  - 207
  jupyter_server.extension.manager.ExtensionPoint:
  - 14
  - 18
  - 19
  - 21
  - 23
  jupyter_server.extension.manager.ExtensionPoint._get_linker:
  - 97
  - 98
  - 101
  - 106
  jupyter_server.extension.manager.ExtensionPoint._get_loader:
  - 113
  - 115
  - 111
  jupyter_server.extension.manager.ExtensionPoint._valid_metadata:
  - 25
  - 35
  - 44
  - 43
  jupyter_server.extension.manager.ExtensionPoint.app:
  - 60
  jupyter_server.extension.manager.ExtensionPoint.config:
  - 65
  - 66
  - 67
  jupyter_server.extension.manager.ExtensionPoint.link:
  - 136
  - 129
  - 134
  - 135
  jupyter_server.extension.manager.ExtensionPoint.linked:
  - 49
  - 54
  jupyter_server.extension.manager.ExtensionPoint.load:
  - 146
  - 147
  - 141
  jupyter_server.extension.manager.ExtensionPoint.module:
  - 93
  jupyter_server.extension.manager.ExtensionPoint.module_name:
  - 75
  jupyter_server.extension.manager.ExtensionPoint.name:
  - 89
  - 82
  - 87
  jupyter_server.extension.manager.ExtensionPoint.validate:
  - 121
  - 122
  - 119
  jupyter_server.extension.serverextension:
  - 1
  - 71
  - 72
  - 73
  - 74
  - 393
  - 394
  - 173
  - 174
  - 175
  - 176
  - 114
  jupyter_server.extension.serverextension.BaseExtensionApp:
  - 126
  - 125
  - 118
  - 127
  jupyter_server.extension.serverextension.BaseExtensionApp._log_format_default:
  - 130
  jupyter_server.extension.serverextension.BaseExtensionApp.config_dir:
  - 135
  jupyter_server.extension.serverextension.DisableServerExtensionApp:
  - 294
  jupyter_server.extension.serverextension.EnableServerExtensionApp:
  - 279
  jupyter_server.extension.serverextension.ListServerExtensionsApp:
  - 309
  jupyter_server.extension.serverextension.ListServerExtensionsApp.list_server_extensions:
  - 352
  - 326
  - 327
  - 328
  - 330
  - 332
  - 334
  - 335
  - 337
  - 339
  - 340
  - 341
  - 348
  - 345
  - 316
  - 350
  jupyter_server.extension.serverextension.ListServerExtensionsApp.start:
  - 355
  - 356
  jupyter_server.extension.serverextension.ServerExtensionApp:
  - 367
  jupyter_server.extension.serverextension.ServerExtensionApp.start:
  - 386
  - 387
  - 381
  - 382
  jupyter_server.extension.serverextension.ToggleServerExtensionApp:
  - 227
  - 220
  jupyter_server.extension.serverextension.ToggleServerExtensionApp.start:
  - 271
  - 272
  - 273
  - 274
  - 275
  jupyter_server.extension.serverextension.ToggleServerExtensionApp.toggle_server_extension:
  - 256
  - 260
  - 261
  - 263
  - 232
  - 266
  - 268
  - 244
  - 248
  - 249
  - 251
  - 253
  - 254
  jupyter_server.extension.serverextension._get_config_dir:
  - 32
  - 33
  - 34
  - 19
  - 30
  jupyter_server.extension.serverextension._get_extmanager_for_context:
  - 42
  - 55
  - 56
  - 58
  - 60
  jupyter_server.extension.serverextension.toggle_server_extension_python:
  - 160
  - 162
  - 163
  - 165
  - 153
  - 157
  - 158
  jupyter_server.extension.utils:
  - 1
  jupyter_server.extension.utils.ExtensionLoadingError:
  - 8
  jupyter_server.extension.utils.ExtensionMetadataError:
  - 14
  jupyter_server.extension.utils.ExtensionModuleNotFound:
  - 20
  jupyter_server.extension.utils.NotAnExtensionApp:
  - 26
  jupyter_server.extension.utils.get_loader:
  - 32
  - 39
  - 44
  - 49
  - 50
  jupyter_server.extension.utils.get_metadata:
  - 71
  - 72
  - 73
  - 105
  - 106
  - 107
  - 78
  - 79
  - 82
  - 90
  - 91
  - 92
  - 93
  - 62
  jupyter_server.extension.utils.validate_extension:
  - 116
  - 127
  jupyter_server.files.handlers:
  - 1
  jupyter_server.files.handlers.FilesHandler:
  - 18
  jupyter_server.files.handlers.FilesHandler.content_security_policy:
  - 33
  - 30
  jupyter_server.files.handlers.FilesHandler.get:
  - 46
  - 48
  - 51
  - 52
  - 55
  - 56
  - 57
  - 61
  - 63
  - 64
  - 67
  - 68
  - 70
  - 71
  - 72
  - 74
  - 75
  - 76
  - 77
  - 78
  - 79
  - 80
  - 81
  - 83
  - 85
  - 86
  - 87
  - 88
  - 90
  - 91
  jupyter_server.files.handlers.FilesHandler.head:
  - 40
  - 41
  - 38
  - 39
  jupyter_server.gateway.gateway_client:
  - 1
  - 20
  jupyter_server.gateway.gateway_client.GatewayClient:
  - 257
  - 131
  - 387
  - 263
  - 137
  - 394
  - 143
  - 272
  - 149
  - 277
  - 405
  - 412
  - 157
  - 291
  - 164
  - 420
  - 296
  - 426
  - 173
  - 434
  - 180
  - 308
  - 313
  - 186
  - 442
  - 192
  - 321
  - 196
  - 453
  - 327
  - 72
  - 205
  - 78
  - 334
  - 461
  - 209
  - 343
  - 218
  - 91
  - 474
  - 222
  - 95
  - 352
  - 376
  - 103
  - 231
  - 359
  - 235
  - 367
  - 114
  - 244
  - 502
  - 248
  - 121
  jupyter_server.gateway.gateway_client.GatewayClient.__init__:
  - 512
  - 509
  - 510
  jupyter_server.gateway.gateway_client.GatewayClient._accept_cookies_default:
  - 464
  - 463
  jupyter_server.gateway.gateway_client.GatewayClient._allowed_envs_default:
  - 354
  - 356
  jupyter_server.gateway.gateway_client.GatewayClient._auth_header_key_default:
  - 293
  jupyter_server.gateway.gateway_client.GatewayClient._auth_scheme_default:
  - 323
  jupyter_server.gateway.gateway_client.GatewayClient._auth_token_default:
  - 310
  jupyter_server.gateway.gateway_client.GatewayClient._ca_certs_default:
  - 233
  jupyter_server.gateway.gateway_client.GatewayClient._clear_expired_cookies:
  - 610
  - 611
  - 614
  - 615
  - 616
  - 619
  - 620
  - 622
  - 623
  jupyter_server.gateway.gateway_client.GatewayClient._client_cert_default:
  - 220
  jupyter_server.gateway.gateway_client.GatewayClient._client_key_default:
  - 207
  jupyter_server.gateway.gateway_client.GatewayClient._connect_timeout_default:
  - 182
  jupyter_server.gateway.gateway_client.GatewayClient._deprecated_trait:
  - 480
  - 484
  - 485
  - 495
  - 476
  - 479
  jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_interval_default:
  - 378
  - 379
  jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_interval_max_default:
  - 396
  - 397
  jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_max_default:
  - 414
  jupyter_server.gateway.gateway_client.GatewayClient._gateway_token_renewer_class_default:
  - 428
  jupyter_server.gateway.gateway_client.GatewayClient._headers_default:
  - 274
  jupyter_server.gateway.gateway_client.GatewayClient._http_pwd_default:
  - 259
  jupyter_server.gateway.gateway_client.GatewayClient._http_user_default:
  - 246
  jupyter_server.gateway.gateway_client.GatewayClient._kernels_endpoint_default:
  - 139
  jupyter_server.gateway.gateway_client.GatewayClient._kernelspecs_endpoint_default:
  - 151
  jupyter_server.gateway.gateway_client.GatewayClient._kernelspecs_resource_endpoint_default:
  - 166
  jupyter_server.gateway.gateway_client.GatewayClient._launch_timeout_pad_default:
  - 444
  - 445
  jupyter_server.gateway.gateway_client.GatewayClient._request_timeout_default:
  - 194
  jupyter_server.gateway.gateway_client.GatewayClient._update_cookie_header:
  - 641
  - 644
  - 626
  - 627
  - 629
  - 630
  - 632
  - 633
  - 637
  - 638
  jupyter_server.gateway.gateway_client.GatewayClient._url_default:
  - 93
  jupyter_server.gateway.gateway_client.GatewayClient._url_validate:
  - 99
  jupyter_server.gateway.gateway_client.GatewayClient._validate_cert_default:
  - 336
  - 337
  jupyter_server.gateway.gateway_client.GatewayClient._ws_url_default:
  - 116
  - 117
  - 118
  jupyter_server.gateway.gateway_client.GatewayClient._ws_url_validate:
  - 125
  jupyter_server.gateway.gateway_client.GatewayClient.gateway_enabled:
  - 499
  jupyter_server.gateway.gateway_client.GatewayClient.init_connection_args:
  - 544
  - 547
  - 549
  - 518
  - 551
  - 525
  - 527
  - 529
  - 530
  - 534
  - 536
  - 537
  - 538
  jupyter_server.gateway.gateway_client.GatewayClient.load_connection_args:
  - 577
  - 578
  - 579
  - 580
  - 581
  - 583
  - 555
  - 589
  - 590
  - 559
  - 560
  - 565
  - 569
  jupyter_server.gateway.gateway_client.GatewayClient.update_cookies:
  - 595
  - 596
  - 599
  - 600
  - 603
  - 604
  - 605
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase:
  - 33
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase.get_token:
  - 48
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerMeta:
  - 25
  jupyter_server.gateway.gateway_client.NoOpTokenRenewer:
  - 56
  jupyter_server.gateway.gateway_client.NoOpTokenRenewer.get_token:
  - 67
  jupyter_server.gateway.gateway_client.RetryableHTTPClient:
  - 660
  - 652
  - 661
  jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__:
  - 668
  - 670
  jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch:
  - 681
  - 686
  - 688
  - 689
  - 691
  - 693
  - 695
  jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable:
  - 707
  - 709
  - 711
  - 715
  - 699
  - 701
  - 703
  jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch:
  - 673
  - 678
  jupyter_server.gateway.gateway_client.gateway_request:
  - 736
  - 737
  - 739
  - 764
  - 765
  - 721
  - 722
  - 723
  - 725
  - 759
  - 761
  - 762
  - 731
  - 763
  - 733
  - 735
  jupyter_server.gateway.handlers:
  - 1
  - 25
  jupyter_server.gateway.handlers.GatewayResourceHandler:
  - 279
  jupyter_server.gateway.handlers.GatewayResourceHandler.get:
  - 288
  - 289
  - 293
  - 294
  - 283
  - 286
  - 287
  jupyter_server.gateway.handlers.GatewayWebSocketClient:
  - 149
  jupyter_server.gateway.handlers.GatewayWebSocketClient.__init__:
  - 152
  - 153
  - 156
  jupyter_server.gateway.handlers.GatewayWebSocketClient._connect:
  - 161
  - 165
  - 166
  - 167
  - 168
  - 171
  - 173
  - 175
  - 176
  - 177
  - 179
  - 180
  jupyter_server.gateway.handlers.GatewayWebSocketClient._connect.<lambda1>:
  - 180
  jupyter_server.gateway.handlers.GatewayWebSocketClient._connection_done:
  - 192
  - 194
  - 183
  - 184
  - 185
  - 187
  - 189
  - 191
  jupyter_server.gateway.handlers.GatewayWebSocketClient._disconnect:
  - 199
  - 201
  - 203
  - 204
  - 206
  - 207
  jupyter_server.gateway.handlers.GatewayWebSocketClient._read_messages:
  - 224
  - 249
  - 231
  - 232
  - 234
  - 235
  - 236
  - 241
  - 210
  - 213
  - 245
  - 215
  - 248
  - 217
  - 250
  - 220
  - 221
  - 222
  jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message:
  - 266
  - 268
  - 269
  - 271
  jupyter_server.gateway.handlers.GatewayWebSocketClient.on_close:
  - 274
  - 275
  jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message:
  - 258
  - 259
  - 260
  - 261
  - 263
  jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message.<lambda1>:
  - 261
  jupyter_server.gateway.handlers.GatewayWebSocketClient.on_open:
  - 253
  - 254
  - 255
  jupyter_server.gateway.handlers.WebSocketChannelsHandler:
  - 29
  jupyter_server.gateway.handlers.WebSocketChannelsHandler._get_message_summary:
  - 130
  - 132
  - 133
  - 134
  - 135
  - 136
  - 143
  - 145
  - 127
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.authenticate:
  - 64
  - 50
  - 56
  - 57
  - 60
  - 62
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.check_origin:
  - 37
  - 38
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.get:
  - 73
  - 74
  - 77
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.get_compression_options:
  - 45
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.initialize:
  - 67
  - 68
  - 69
  - 70
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.on_close:
  - 120
  - 122
  - 123
  - 119
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.on_message:
  - 100
  - 102
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.open:
  - 96
  - 88
  - 89
  - 90
  - 93
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.send_ping:
  - 80
  - 81
  - 82
  - 85
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.set_default_headers:
  - 41
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.write_message:
  - 105
  - 106
  - 107
  - 109
  - 110
  - 111
  - 112
  - 113
  jupyter_server.gateway.managers:
  - 568
  - 1
  - 857
  jupyter_server.gateway.managers.ChannelQueue:
  - 572
  jupyter_server.gateway.managers.ChannelQueue.__init__:
  - 578
  - 579
  jupyter_server.gateway.managers.ChannelQueue._async_get:
  - 586
  - 587
  - 588
  - 589
  - 592
  - 596
  - 598
  - 601
  - 603
  jupyter_server.gateway.managers.ChannelQueue.get_msg:
  - 608
  - 609
  - 610
  - 614
  - 606
  - 607
  jupyter_server.gateway.managers.ChannelQueue.is_alive:
  - 659
  jupyter_server.gateway.managers.ChannelQueue.send:
  - 618
  - 619
  - 620
  - 621
  - 625
  jupyter_server.gateway.managers.ChannelQueue.serialize_datetime:
  - 629
  - 630
  - 631
  jupyter_server.gateway.managers.ChannelQueue.start:
  - 635
  jupyter_server.gateway.managers.ChannelQueue.stop:
  - 640
  - 645
  - 646
  - 647
  - 648
  - 649
  - 651
  - 652
  - 653
  - 654
  - 639
  jupyter_server.gateway.managers.GatewayKernelClient:
  - 673
  jupyter_server.gateway.managers.GatewayKernelClient.__init__:
  - 700
  - 701
  jupyter_server.gateway.managers.GatewayKernelClient._route_responses:
  - 834
  - 835
  - 837
  - 840
  - 846
  - 847
  - 851
  - 854
  - 824
  jupyter_server.gateway.managers.GatewayKernelClient.control_channel:
  - 816
  - 818
  - 814
  - 815
  jupyter_server.gateway.managers.GatewayKernelClient.hb_channel:
  - 803
  - 804
  - 805
  - 807
  jupyter_server.gateway.managers.GatewayKernelClient.iopub_channel:
  - 785
  - 781
  - 782
  - 783
  jupyter_server.gateway.managers.GatewayKernelClient.shell_channel:
  - 770
  - 771
  - 772
  - 774
  jupyter_server.gateway.managers.GatewayKernelClient.start_channels:
  - 740
  - 741
  - 744
  - 713
  - 745
  - 720
  - 721
  - 722
  - 723
  - 728
  - 729
  - 730
  - 733
  - 735
  jupyter_server.gateway.managers.GatewayKernelClient.stdin_channel:
  - 792
  - 793
  - 794
  - 796
  jupyter_server.gateway.managers.GatewayKernelClient.stop_channels:
  - 748
  - 753
  - 755
  - 758
  - 760
  - 762
  - 763
  jupyter_server.gateway.managers.GatewayKernelManager:
  - 370
  - 395
  - 396
  - 375
  jupyter_server.gateway.managers.GatewayKernelManager.__init__:
  - 380
  - 381
  - 382
  - 383
  jupyter_server.gateway.managers.GatewayKernelManager.cleanup_resources:
  - 564
  jupyter_server.gateway.managers.GatewayKernelManager.client:
  - 416
  - 403
  - 405
  - 406
  - 415
  jupyter_server.gateway.managers.GatewayKernelManager.has_kernel:
  - 392
  jupyter_server.gateway.managers.GatewayKernelManager.interrupt_kernel:
  - 545
  - 546
  - 550
  - 552
  - 541
  - 542
  jupyter_server.gateway.managers.GatewayKernelManager.is_alive:
  - 555
  - 556
  - 558
  jupyter_server.gateway.managers.GatewayKernelManager.refresh_model:
  - 419
  - 452
  - 427
  - 428
  - 430
  - 433
  - 434
  - 439
  - 440
  - 442
  - 443
  - 447
  jupyter_server.gateway.managers.GatewayKernelManager.restart_kernel:
  - 527
  - 528
  - 531
  - 532
  - 536
  - 538
  jupyter_server.gateway.managers.GatewayKernelManager.shutdown_kernel:
  - 513
  - 515
  - 516
  - 518
  - 519
  - 521
  - 522
  jupyter_server.gateway.managers.GatewayKernelManager.start_kernel:
  - 462
  - 470
  - 472
  - 473
  - 474
  - 477
  - 478
  - 480
  - 481
  - 486
  - 487
  - 491
  - 494
  - 496
  - 502
  - 504
  - 505
  - 508
  - 509
  - 510
  jupyter_server.gateway.managers.GatewayKernelSpecManager:
  - 209
  jupyter_server.gateway.managers.GatewayKernelSpecManager.__init__:
  - 212
  - 213
  - 214
  - 215
  - 218
  - 219
  - 220
  - 221
  jupyter_server.gateway.managers.GatewayKernelSpecManager._get_endpoint_for_user_filter:
  - 226
  - 227
  - 228
  - 229
  jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url:
  - 256
  - 261
  - 262
  jupyter_server.gateway.managers.GatewayKernelSpecManager._replace_path_kernelspec_resources:
  - 233
  - 238
  - 240
  - 242
  - 243
  - 244
  - 248
  - 249
  jupyter_server.gateway.managers.GatewayKernelSpecManager.get_all_specs:
  - 267
  - 268
  - 275
  - 276
  - 277
  - 283
  jupyter_server.gateway.managers.GatewayKernelSpecManager.get_kernel_spec:
  - 296
  - 303
  - 304
  - 306
  - 308
  - 311
  - 316
  jupyter_server.gateway.managers.GatewayKernelSpecManager.get_kernel_spec_resource:
  - 321
  - 330
  - 331
  - 333
  - 335
  - 337
  jupyter_server.gateway.managers.GatewayKernelSpecManager.list_kernel_specs:
  - 288
  - 289
  - 290
  - 291
  - 292
  - 287
  jupyter_server.gateway.managers.GatewayMappingKernelManager:
  - 33
  - 42
  - 38
  jupyter_server.gateway.managers.GatewayMappingKernelManager.__init__:
  - 48
  - 49
  - 50
  - 47
  jupyter_server.gateway.managers.GatewayMappingKernelManager.cull_kernels:
  - 203
  - 204
  - 205
  jupyter_server.gateway.managers.GatewayMappingKernelManager.interrupt_kernel:
  - 184
  - 192
  - 191
  jupyter_server.gateway.managers.GatewayMappingKernelManager.kernel_model:
  - 90
  - 99
  - 100
  jupyter_server.gateway.managers.GatewayMappingKernelManager.list_kernels:
  - 154
  - 105
  - 110
  - 111
  - 112
  - 143
  - 146
  - 116
  - 149
  - 118
  - 119
  - 152
  - 153
  - 122
  - 124
  - 125
  - 127
  jupyter_server.gateway.managers.GatewayMappingKernelManager.remove_kernel:
  - 56
  - 54
  jupyter_server.gateway.managers.GatewayMappingKernelManager.restart_kernel:
  - 180
  - 173
  - 181
  jupyter_server.gateway.managers.GatewayMappingKernelManager.shutdown_all:
  - 195
  - 196
  - 197
  - 198
  - 199
  - 200
  jupyter_server.gateway.managers.GatewayMappingKernelManager.shutdown_kernel:
  - 168
  - 169
  - 170
  - 157
  jupyter_server.gateway.managers.GatewayMappingKernelManager.start_kernel:
  - 73
  - 75
  - 76
  - 78
  - 79
  - 84
  - 85
  - 61
  jupyter_server.gateway.managers.GatewaySessionManager:
  - 347
  - 349
  jupyter_server.gateway.managers.GatewaySessionManager.kernel_culled:
  - 352
  - 362
  jupyter_server.gateway.managers.HBChannelQueue:
  - 664
  jupyter_server.gateway.managers.HBChannelQueue.is_beating:
  - 667
  - 669
  jupyter_server.i18n:
  - 1
  - 10
  - 21
  jupyter_server.i18n.cached_load:
  - 76
  - 71
  jupyter_server.i18n.combine_translations:
  - 82
  - 86
  - 88
  - 89
  - 91
  - 93
  jupyter_server.i18n.load:
  - 57
  - 66
  - 59
  - 61
  jupyter_server.i18n.parse_accept_lang_header:
  - 32
  - 37
  - 38
  - 39
  - 40
  - 42
  - 44
  - 45
  - 46
  - 48
  - 51
  - 52
  jupyter_server.kernelspecs.handlers:
  - 1
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler:
  - 14
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.get:
  - 35
  - 36
  - 26
  - 28
  - 29
  - 31
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.head:
  - 41
  - 42
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.initialize:
  - 20
  - 21
  jupyter_server.log:
  - 1
  jupyter_server.log._scrub_uri:
  - 32
  - 33
  - 34
  - 37
  - 38
  - 39
  - 23
  - 24
  - 25
  - 29
  - 31
  jupyter_server.log.log_request:
  - 97
  - 98
  - 99
  - 68
  - 73
  - 44
  - 51
  - 83
  - 95
  - 87
  - 89
  - 58
  - 91
  - 61
  - 94
  - 63
  jupyter_server.nbconvert.handlers:
  - 1
  - 23
  jupyter_server.nbconvert.handlers.NbconvertFileHandler:
  - 89
  jupyter_server.nbconvert.handlers.NbconvertFileHandler.get:
  - 129
  - 134
  - 135
  - 138
  - 141
  - 145
  - 146
  - 147
  - 150
  - 151
  - 153
  - 154
  - 97
  - 98
  - 99
  - 101
  - 104
  - 105
  - 106
  - 110
  - 112
  - 114
  - 118
  - 121
  - 122
  jupyter_server.nbconvert.handlers.NbconvertFileHandler.get.<lambda1>:
  - 135
  jupyter_server.nbconvert.handlers.NbconvertPostHandler:
  - 158
  jupyter_server.nbconvert.handlers.NbconvertPostHandler.post:
  - 193
  - 166
  - 167
  - 169
  - 170
  - 171
  - 174
  - 175
  - 186
  - 190
  - 191
  jupyter_server.nbconvert.handlers.NbconvertPostHandler.post.<lambda1>:
  - 175
  jupyter_server.nbconvert.handlers.find_resource_files:
  - 32
  - 33
  - 30
  jupyter_server.nbconvert.handlers.get_exporter:
  - 82
  - 68
  - 84
  - 76
  jupyter_server.nbconvert.handlers.respond_zip:
  - 38
  - 44
  - 45
  - 49
  - 50
  - 51
  - 52
  - 55
  - 56
  - 57
  - 58
  - 59
  - 60
  - 61
  - 63
  jupyter_server.prometheus.log_functions:
  - 1
  jupyter_server.prometheus.log_functions.prometheus_log_method:
  - 6
  - 21
  - 23
  - 24
  - 25
  jupyter_server.prometheus.metrics:
  - 32
  - 1
  - 27
  - 21
  jupyter_server.pytest_plugin:
  - 1
  - 38
  jupyter_server.pytest_plugin.jp_contents_manager:
  - 40
  - 41
  jupyter_server.pytest_plugin.jp_kernelspecs:
  - 32
  - 34
  - 35
  - 22
  - 24
  - 25
  - 26
  - 28
  - 29
  - 30
  jupyter_server.pytest_plugin.jp_large_contents_manager:
  - 46
  - 47
  jupyter_server.serverapp:
  - 736
  - 1
  - 710
  - 40
  - 744
  - 714
  - 746
  - 718
  - 722
  - 735
  jupyter_server.serverapp.JupyterPasswordApp:
  - 496
  jupyter_server.serverapp.JupyterPasswordApp._config_file_default:
  - 505
  - 506
  jupyter_server.serverapp.JupyterPasswordApp.start:
  - 512
  - 513
  - 509
  jupyter_server.serverapp.JupyterServerListApp:
  - 672
  - 678
  - 681
  - 653
  - 656
  - 661
  - 665
  - 669
  jupyter_server.serverapp.JupyterServerListApp.start:
  - 689
  - 691
  - 692
  - 693
  - 694
  - 695
  - 696
  - 698
  - 699
  - 701
  - 703
  jupyter_server.serverapp.JupyterServerStopApp:
  - 584
  - 595
  - 589
  jupyter_server.serverapp.JupyterServerStopApp._maybe_remove_unix_socket:
  - 619
  - 621
  jupyter_server.serverapp.JupyterServerStopApp._shutdown_or_exit:
  - 612
  - 613
  - 614
  - 615
  jupyter_server.serverapp.JupyterServerStopApp.parse_command_line:
  - 600
  - 602
  - 598
  - 599
  jupyter_server.serverapp.JupyterServerStopApp.shutdown_server:
  - 608
  - 609
  jupyter_server.serverapp.JupyterServerStopApp.start:
  - 640
  - 641
  - 642
  - 645
  - 646
  - 647
  - 648
  - 649
  - 626
  - 628
  - 629
  - 630
  - 631
  - 632
  - 633
  - 634
  - 635
  - 637
  - 639
  jupyter_server.serverapp.ServerApp:
  - 1025
  - 1539
  - 1028
  - 1031
  - 1544
  - 1034
  - 1547
  - 1039
  - 1040
  - 1552
  - 1043
  - 1556
  - 1047
  - 1560
  - 1563
  - 1567
  - 1570
  - 1059
  - 1574
  - 1581
  - 1587
  - 1589
  - 1594
  - 1086
  - 1598
  - 1600
  - 1090
  - 1605
  - 1094
  - 1607
  - 1612
  - 1103
  - 1615
  - 1622
  - 1114
  - 1636
  - 1638
  - 1134
  - 1646
  - 1649
  - 1147
  - 1156
  - 1670
  - 1162
  - 1677
  - 1168
  - 1684
  - 1686
  - 1689
  - 1693
  - 1700
  - 1193
  - 1705
  - 1707
  - 1197
  - 1710
  - 1201
  - 1719
  - 1722
  - 1725
  - 1728
  - 1219
  - 1731
  - 1735
  - 1738
  - 1741
  - 1745
  - 1236
  - 1748
  - 1751
  - 1755
  - 1758
  - 1761
  - 1765
  - 1768
  - 1771
  - 1775
  - 1270
  - 1789
  - 1791
  - 771
  - 775
  - 1288
  - 1289
  - 1803
  - 782
  - 783
  - 1807
  - 1299
  - 1815
  - 1310
  - 808
  - 1321
  - 812
  - 1324
  - 816
  - 820
  - 1339
  - 1341
  - 1346
  - 1349
  - 845
  - 849
  - 1361
  - 1362
  - 1364
  - 1367
  - 857
  - 1369
  - 1371
  - 861
  - 1373
  - 1376
  - 866
  - 1380
  - 1383
  - 877
  - 1389
  - 1391
  - 1394
  - 1396
  - 1399
  - 892
  - 895
  - 1409
  - 898
  - 901
  - 904
  - 1418
  - 907
  - 1419
  - 910
  - 912
  - 915
  - 918
  - 1432
  - 1434
  - 1438
  - 1439
  - 1441
  - 936
  - 1453
  - 1454
  - 943
  - 1456
  - 946
  - 1461
  - 1471
  - 963
  - 965
  - 1477
  - 968
  - 1481
  - 1484
  - 974
  - 1487
  - 977
  - 1490
  - 983
  - 1496
  - 1498
  - 987
  - 989
  - 1501
  - 995
  - 1507
  - 1511
  - 1514
  - 1517
  - 1520
  - 1522
  - 1019
  - 1533
  - 1022
  jupyter_server.serverapp.ServerApp._bind_http_server:
  - 2372
  - 2373
  - 2374
  - 2375
  - 2376
  - 2381
  jupyter_server.serverapp.ServerApp._bind_http_server_tcp:
  - 2405
  - 2406
  jupyter_server.serverapp.ServerApp._bind_http_server_unix:
  - 2384
  - 2385
  - 2386
  - 2390
  - 2391
  - 2393
  - 2394
  - 2396
  - 2397
  jupyter_server.serverapp.ServerApp._cleanup:
  - 2857
  - 2860
  - 2861
  - 2862
  - 2863
  - 2864
  - 2865
  - 2866
  - 2867
  - 2868
  - 2869
  - 2871
  jupyter_server.serverapp.ServerApp._confirm_exit:
  - 2189
  - 2197
  - 2199
  - 2200
  - 2203
  - 2205
  - 2206
  - 2207
  - 2208
  - 2209
  - 2210
  - 2211
  - 2212
  - 2213
  - 2214
  - 2217
  - 2220
  - 2221
  - 2226
  jupyter_server.serverapp.ServerApp._default_allow_remote:
  - 1249
  - 1253
  - 1255
  - 1261
  - 1238
  - 1242
  - 1246
  jupyter_server.serverapp.ServerApp._default_browser_open_file:
  - 1602
  - 1603
  jupyter_server.serverapp.ServerApp._default_browser_open_file_to_run:
  - 1609
  - 1610
  jupyter_server.serverapp.ServerApp._default_cookie_secret:
  - 1061
  - 1062
  - 1063
  - 1065
  - 1066
  - 1067
  - 1068
  - 1069
  jupyter_server.serverapp.ServerApp._default_cookie_secret_file:
  - 1045
  jupyter_server.serverapp.ServerApp._default_info_file:
  - 1592
  - 1591
  jupyter_server.serverapp.ServerApp._default_ip:
  - 928
  - 929
  - 933
  - 920
  - 924
  - 926
  jupyter_server.serverapp.ServerApp._default_kernel_manager_class:
  - 1492
  jupyter_server.serverapp.ServerApp._default_kernel_spec_manager_class:
  - 1535
  jupyter_server.serverapp.ServerApp._default_log_format:
  - 851
  jupyter_server.serverapp.ServerApp._default_min_open_files_limit:
  - 1120
  - 1123
  - 1116
  - 1126
  jupyter_server.serverapp.ServerApp._default_root_dir:
  - 1651
  - 1653
  - 1655
  jupyter_server.serverapp.ServerApp._default_session_manager_class:
  - 1503
  jupyter_server.serverapp.ServerApp._default_static_custom_path:
  - 1436
  jupyter_server.serverapp.ServerApp._deprecated_cookie_config:
  - 1378
  jupyter_server.serverapp.ServerApp._deprecated_iopub_data_rate_limit:
  - 1763
  jupyter_server.serverapp.ServerApp._deprecated_iopub_msg_rate_limit:
  - 1753
  jupyter_server.serverapp.ServerApp._deprecated_kernel_ws_protocol:
  - 1733
  jupyter_server.serverapp.ServerApp._deprecated_limit_rate:
  - 1743
  jupyter_server.serverapp.ServerApp._deprecated_password:
  - 1195
  jupyter_server.serverapp.ServerApp._deprecated_password_config:
  - 1199
  jupyter_server.serverapp.ServerApp._deprecated_rate_limit_window:
  - 1773
  jupyter_server.serverapp.ServerApp._deprecated_token:
  - 1092
  jupyter_server.serverapp.ServerApp._deprecated_token_access:
  - 1096
  jupyter_server.serverapp.ServerApp._find_http_port:
  - 2438
  - 2439
  - 2440
  - 2441
  - 2447
  - 2448
  - 2454
  - 2410
  - 2413
  - 2415
  - 2416
  - 2418
  - 2419
  - 2420
  - 2421
  - 2424
  - 2426
  - 2428
  - 2430
  jupyter_server.serverapp.ServerApp._get_urlparts:
  - 2113
  - 2117
  - 2121
  - 2123
  - 2096
  - 2100
  - 2102
  - 2104
  - 2107
  - 2108
  jupyter_server.serverapp.ServerApp._handle_sigint:
  - 2177
  - 2180
  - 2182
  - 2175
  jupyter_server.serverapp.ServerApp._init_asyncio_patch:
  - 2458
  - 2468
  - 2477
  - 2479
  jupyter_server.serverapp.ServerApp._normalize_dir:
  - 1664
  - 1665
  - 1667
  - 1658
  - 1661
  - 1662
  jupyter_server.serverapp.ServerApp._port_default:
  - 970
  jupyter_server.serverapp.ServerApp._port_retries_default:
  - 985
  jupyter_server.serverapp.ServerApp._preferred_dir_validate:
  - 1696
  - 1695
  jupyter_server.serverapp.ServerApp._prepare_browser_open:
  - 2727
  - 2728
  - 2729
  - 2731
  - 2732
  - 2734
  - 2742
  - 2743
  - 2745
  jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir:
  - 2658
  - 2630
  - 2638
  - 2639
  - 2640
  - 2641
  - 2643
  - 2644
  - 2645
  - 2651
  - 2653
  jupyter_server.serverapp.ServerApp._restore_sigint_handler:
  - 2185
  - 2186
  jupyter_server.serverapp.ServerApp._root_dir_validate:
  - 1672
  - 1673
  jupyter_server.serverapp.ServerApp._signal_info:
  - 2234
  - 2235
  jupyter_server.serverapp.ServerApp._signal_stop:
  - 2229
  - 2230
  - 2231
  jupyter_server.serverapp.ServerApp._stop:
  - 2898
  - 2899
  - 2900
  - 2901
  jupyter_server.serverapp.ServerApp._update_base_url:
  - 1412
  - 1414
  jupyter_server.serverapp.ServerApp._update_notebook_dir:
  - 1640
  - 1643
  jupyter_server.serverapp.ServerApp._update_pylab:
  - 1634
  - 1624
  - 1626
  - 1627
  - 1629
  - 1630
  jupyter_server.serverapp.ServerApp._update_server_extensions:
  - 1702
  jupyter_server.serverapp.ServerApp._validate_ip:
  - 939
  jupyter_server.serverapp.ServerApp._validate_sock_mode:
  - 1000
  - 1003
  - 1004
  - 999
  jupyter_server.serverapp.ServerApp._warn_deprecated_config:
  - 1188
  - 1189
  - 1175
  - 1176
  - 1178
  - 1181
  jupyter_server.serverapp.ServerApp._write_browser_open_file:
  - 2661
  - 2662
  - 2663
  - 2664
  - 2667
  - 2668
  jupyter_server.serverapp.ServerApp._write_cookie_secret_file:
  - 1072
  - 1073
  - 1075
  - 1076
  - 1078
  - 1079
  jupyter_server.serverapp.ServerApp.cleanup_extensions:
  - 2563
  - 2564
  - 2566
  - 2567
  - 2570
  - 2571
  jupyter_server.serverapp.ServerApp.cleanup_kernels:
  - 2560
  - 2548
  - 2553
  - 2555
  - 2556
  - 2559
  jupyter_server.serverapp.ServerApp.connection_url:
  - 2160
  - 2159
  jupyter_server.serverapp.ServerApp.display_url:
  - 2151
  jupyter_server.serverapp.ServerApp.find_server_extensions:
  - 2243
  - 2257
  - 2258
  - 2260
  - 2261
  - 2262
  - 2263
  jupyter_server.serverapp.ServerApp.http_server:
  - 2334
  jupyter_server.serverapp.ServerApp.init_components:
  - 2238
  jupyter_server.serverapp.ServerApp.init_configurables:
  - 1920
  - 1925
  - 1926
  - 1929
  - 1937
  - 1939
  - 1848
  - 1851
  - 1853
  - 1854
  - 1860
  - 1861
  - 1867
  - 1870
  - 1876
  - 1882
  - 1883
  - 1889
  - 1895
  - 1903
  - 1910
  - 1912
  - 1914
  - 1918
  jupyter_server.serverapp.ServerApp.init_event_logger:
  - 1960
  - 1961
  - 1968
  - 1970
  - 1973
  jupyter_server.serverapp.ServerApp.init_httpserver:
  - 2368
  - 2369
  - 2346
  - 2350
  - 2358
  - 2367
  jupyter_server.serverapp.ServerApp.init_ioloop:
  - 2886
  - 2887
  jupyter_server.serverapp.ServerApp.init_logging:
  - 1944
  - 1954
  - 1957
  - 1950
  jupyter_server.serverapp.ServerApp.init_mime_overrides:
  - 2295
  - 2297
  - 2299
  - 2300
  - 2302
  jupyter_server.serverapp.ServerApp.init_resources:
  - 2082
  - 2085
  - 2086
  - 2088
  - 2089
  - 2093
  - 2075
  - 2076
  - 2077
  jupyter_server.serverapp.ServerApp.init_server_extensions:
  - 2266
  - 2275
  - 2276
  - 2274
  jupyter_server.serverapp.ServerApp.init_shutdown_no_activity:
  - 2323
  - 2324
  - 2325
  - 2329
  - 2330
  jupyter_server.serverapp.ServerApp.init_signal:
  - 2163
  - 2164
  - 2165
  - 2166
  - 2167
  - 2169
  - 2170
  - 2172
  jupyter_server.serverapp.ServerApp.init_webapp:
  - 2048
  - 2050
  - 2052
  - 2062
  - 2063
  - 2065
  - 2066
  - 2068
  - 2070
  - 1976
  - 1979
  - 1980
  - 1992
  - 1993
  - 1996
  - 1997
  - 1998
  - 2001
  - 2006
  - 2008
  - 2012
  - 2013
  - 2016
  - 2018
  - 2019
  - 2025
  - 2027
  - 2046
  jupyter_server.serverapp.ServerApp.initialize:
  - 2489
  - 2506
  - 2509
  - 2510
  - 2514
  - 2518
  - 2519
  - 2520
  - 2521
  - 2522
  - 2526
  - 2530
  - 2533
  - 2536
  - 2537
  - 2538
  - 2539
  - 2540
  - 2541
  - 2542
  - 2543
  - 2544
  - 2545
  jupyter_server.serverapp.ServerApp.launch_browser:
  - 2756
  - 2758
  - 2761
  - 2764
  - 2770
  - 2750
  jupyter_server.serverapp.ServerApp.launch_browser.target:
  - 2768
  jupyter_server.serverapp.ServerApp.load_server_extensions:
  - 2286
  - 2279
  jupyter_server.serverapp.ServerApp.local_url:
  - 2145
  - 2146
  - 2147
  - 2143
  jupyter_server.serverapp.ServerApp.parse_command_line:
  - 1827
  - 1828
  - 1830
  - 1832
  - 1833
  - 1834
  - 1835
  - 1836
  - 1840
  - 1841
  - 1843
  - 1845
  jupyter_server.serverapp.ServerApp.public_url:
  - 2130
  - 2132
  - 2134
  - 2136
  - 2138
  - 2139
  jupyter_server.serverapp.ServerApp.remove_browser_open_file:
  - 2721
  - 2723
  - 2716
  jupyter_server.serverapp.ServerApp.remove_browser_open_files:
  - 2712
  - 2708
  - 2710
  - 2703
  jupyter_server.serverapp.ServerApp.remove_server_info_file:
  - 2624
  - 2626
  - 2619
  jupyter_server.serverapp.ServerApp.running_server_info:
  - 2574
  - 2575
  - 2576
  - 2577
  - 2578
  - 2582
  - 2583
  - 2587
  - 2589
  jupyter_server.serverapp.ServerApp.server_info:
  - 2595
  - 2601
  - 2604
  - 2605
  - 2606
  jupyter_server.serverapp.ServerApp.shutdown_no_activity:
  - 2305
  - 2307
  - 2310
  - 2313
  - 2314
  - 2315
  - 2316
  - 2320
  jupyter_server.serverapp.ServerApp.start:
  - 2890
  - 2894
  - 2895
  jupyter_server.serverapp.ServerApp.start_app:
  - 2818
  - 2819
  - 2820
  - 2835
  - 2838
  - 2854
  - 2773
  - 2774
  - 2776
  - 2779
  - 2782
  - 2783
  - 2784
  - 2786
  - 2789
  - 2790
  - 2791
  - 2792
  - 2796
  - 2797
  - 2798
  - 2806
  - 2808
  - 2809
  - 2812
  - 2813
  - 2815
  jupyter_server.serverapp.ServerApp.start_ioloop:
  - 2881
  - 2883
  - 2874
  - 2875
  - 2878
  - 2879
  jupyter_server.serverapp.ServerApp.starter_app:
  - 1823
  jupyter_server.serverapp.ServerApp.static_file_path:
  - 1429
  jupyter_server.serverapp.ServerApp.stop:
  - 2912
  - 2914
  - 2904
  - 2905
  - 2907
  - 2908
  - 2911
  jupyter_server.serverapp.ServerApp.template_file_path:
  - 1450
  jupyter_server.serverapp.ServerApp.write_browser_open_file:
  - 2700
  - 2697
  - 2699
  - 2692
  jupyter_server.serverapp.ServerApp.write_browser_open_files:
  - 2688
  - 2689
  - 2671
  - 2676
  - 2680
  - 2682
  - 2684
  - 2685
  jupyter_server.serverapp.ServerApp.write_server_info_file:
  - 2616
  - 2611
  - 2613
  - 2614
  jupyter_server.serverapp.ServerWebApplication:
  - 215
  jupyter_server.serverapp.ServerWebApplication.__init__:
  - 257
  - 238
  - 239
  - 240
  - 275
  - 277
  - 246
  - 248
  - 249
  - 255
  jupyter_server.serverapp.ServerWebApplication.init_handlers:
  - 407
  - 411
  - 412
  - 416
  - 417
  - 419
  - 420
  - 421
  - 432
  - 434
  - 437
  - 440
  - 441
  - 442
  - 443
  - 448
  - 450
  - 452
  - 463
  - 467
  - 468
  - 469
  - 470
  - 472
  jupyter_server.serverapp.ServerWebApplication.init_settings:
  - 399
  - 401
  - 299
  - 300
  - 304
  - 306
  - 309
  - 311
  - 312
  - 314
  - 316
  - 317
  - 319
  - 322
  - 324
  - 330
  - 332
  - 335
  - 336
  - 338
  - 349
  - 364
  jupyter_server.serverapp.ServerWebApplication.last_activity:
  - 488
  - 489
  - 491
  - 492
  - 476
  jupyter_server.serverapp.list_running_servers:
  - 2947
  - 2949
  - 2918
  - 2950
  - 2924
  - 2925
  - 2928
  - 2931
  - 2932
  - 2933
  - 2936
  - 2942
  - 2943
  jupyter_server.serverapp.load_handlers:
  - 204
  - 205
  jupyter_server.serverapp.random_ports:
  - 192
  - 197
  - 198
  - 199
  - 200
  jupyter_server.serverapp.shutdown_server:
  - 517
  - 532
  - 533
  - 534
  - 535
  - 542
  - 544
  - 545
  - 546
  - 547
  - 555
  - 556
  - 557
  - 558
  - 560
  - 562
  - 565
  - 566
  - 567
  - 570
  - 571
  - 572
  - 573
  - 575
  - 577
  - 578
  - 579
  jupyter_server.services.api.handlers:
  - 1
  jupyter_server.services.api.handlers.APISpecHandler:
  - 20
  jupyter_server.services.api.handlers.APISpecHandler.get:
  - 32
  - 33
  - 31
  jupyter_server.services.api.handlers.APISpecHandler.get_content_type:
  - 36
  jupyter_server.services.api.handlers.APISpecHandler.initialize:
  - 25
  - 26
  jupyter_server.services.api.handlers.APIStatusHandler:
  - 41
  jupyter_server.services.api.handlers.APIStatusHandler.get:
  - 49
  - 51
  - 52
  - 54
  - 55
  - 56
  - 60
  - 63
  jupyter_server.services.api.handlers.IdentityHandler:
  - 67
  jupyter_server.services.api.handlers.IdentityHandler.get:
  - 96
  - 97
  - 98
  - 100
  - 71
  - 72
  - 105
  - 74
  - 76
  - 79
  - 87
  - 88
  - 89
  - 90
  - 91
  jupyter_server.services.config.handlers:
  - 1
  jupyter_server.services.config.handlers.ConfigHandler:
  - 16
  jupyter_server.services.config.handlers.ConfigHandler.get:
  - 24
  - 25
  - 23
  jupyter_server.services.config.handlers.ConfigHandler.patch:
  - 40
  - 41
  - 38
  - 39
  jupyter_server.services.config.handlers.ConfigHandler.put:
  - 32
  - 33
  - 30
  - 31
  jupyter_server.services.config.manager:
  - 1
  jupyter_server.services.config.manager.ConfigManager:
  - 42
  - 44
  - 15
  - 48
  - 17
  - 50
  - 54
  - 56
  - 60
  jupyter_server.services.config.manager.ConfigManager._default_read_config_path:
  - 46
  jupyter_server.services.config.manager.ConfigManager._default_write_config_dir:
  - 52
  jupyter_server.services.config.manager.ConfigManager._default_write_config_manager:
  - 58
  jupyter_server.services.config.manager.ConfigManager._update_write_config_dir:
  - 62
  jupyter_server.services.config.manager.ConfigManager.get:
  - 24
  - 27
  - 28
  - 29
  jupyter_server.services.config.manager.ConfigManager.set:
  - 33
  - 34
  jupyter_server.services.config.manager.ConfigManager.update:
  - 37
  - 38
  jupyter_server.services.contents.checkpoints:
  - 1
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints:
  - 146
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.create_checkpoint:
  - 151
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.delete_all_checkpoints:
  - 176
  - 177
  - 178
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.delete_checkpoint:
  - 163
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.list_checkpoints:
  - 167
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.rename_all_checkpoints:
  - 171
  - 172
  - 173
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.rename_checkpoint:
  - 159
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.restore_checkpoint:
  - 155
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin:
  - 182
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_checkpoint:
  - 195
  - 196
  - 188
  - 190
  - 191
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_file_checkpoint:
  - 218
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_notebook_checkpoint:
  - 225
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_file_checkpoint:
  - 232
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_notebook_checkpoint:
  - 245
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.restore_checkpoint:
  - 205
  - 206
  - 208
  - 209
  - 210
  - 211
  - 214
  jupyter_server.services.contents.checkpoints.Checkpoints:
  - 11
  jupyter_server.services.contents.checkpoints.Checkpoints.create_checkpoint:
  - 24
  jupyter_server.services.contents.checkpoints.Checkpoints.delete_all_checkpoints:
  - 49
  - 50
  - 51
  jupyter_server.services.contents.checkpoints.Checkpoints.delete_checkpoint:
  - 36
  jupyter_server.services.contents.checkpoints.Checkpoints.list_checkpoints:
  - 40
  jupyter_server.services.contents.checkpoints.Checkpoints.rename_all_checkpoints:
  - 44
  - 45
  - 46
  jupyter_server.services.contents.checkpoints.Checkpoints.rename_checkpoint:
  - 32
  jupyter_server.services.contents.checkpoints.Checkpoints.restore_checkpoint:
  - 28
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin:
  - 55
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_checkpoint:
  - 77
  - 79
  - 80
  - 84
  - 85
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_file_checkpoint:
  - 106
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_notebook_checkpoint:
  - 113
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_file_checkpoint:
  - 120
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_notebook_checkpoint:
  - 133
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.restore_checkpoint:
  - 96
  - 97
  - 98
  - 99
  - 102
  - 94
  - 95
  jupyter_server.services.contents.filecheckpoints:
  - 1
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model:
  - 154
  - 155
  - 156
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.create_checkpoint:
  - 140
  - 142
  - 143
  - 144
  - 145
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.delete_checkpoint:
  - 178
  - 179
  - 180
  - 181
  - 182
  - 184
  - 185
  - 186
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.list_checkpoints:
  - 193
  - 195
  - 196
  - 199
  - 189
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.rename_checkpoint:
  - 165
  - 166
  - 167
  - 168
  - 169
  - 174
  - 175
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.restore_checkpoint:
  - 148
  - 149
  - 150
  - 151
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints:
  - 269
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.create_file_checkpoint:
  - 275
  - 276
  - 279
  - 280
  - 281
  - 282
  - 285
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.create_notebook_checkpoint:
  - 288
  - 289
  - 292
  - 293
  - 294
  - 295
  - 298
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.get_file_checkpoint:
  - 320
  - 321
  - 323
  - 324
  - 326
  - 318
  - 319
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.get_notebook_checkpoint:
  - 301
  - 302
  - 303
  - 304
  - 306
  - 307
  - 311
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints:
  - 24
  - 32
  - 43
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints._root_dir_default:
  - 49
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model:
  - 124
  - 125
  - 126
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path:
  - 106
  - 107
  - 108
  - 109
  - 110
  - 111
  - 116
  - 117
  - 118
  - 119
  - 120
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.create_checkpoint:
  - 53
  - 55
  - 56
  - 57
  - 58
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.delete_checkpoint:
  - 81
  - 82
  - 83
  - 84
  - 85
  - 87
  - 88
  - 89
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.list_checkpoints:
  - 96
  - 98
  - 99
  - 102
  - 92
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.rename_checkpoint:
  - 68
  - 69
  - 70
  - 71
  - 72
  - 77
  - 78
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.restore_checkpoint:
  - 64
  - 61
  - 62
  - 63
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints:
  - 203
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.create_file_checkpoint:
  - 209
  - 210
  - 213
  - 214
  - 215
  - 216
  - 219
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.create_notebook_checkpoint:
  - 226
  - 227
  - 228
  - 229
  - 232
  - 222
  - 223
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.get_file_checkpoint:
  - 257
  - 258
  - 260
  - 252
  - 253
  - 254
  - 255
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.get_notebook_checkpoint:
  - 235
  - 236
  - 237
  - 238
  - 240
  - 241
  - 245
  jupyter_server.services.contents.fileio:
  - 1
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin:
  - 353
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._copy:
  - 362
  - 358
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file:
  - 420
  - 423
  - 424
  - 426
  - 430
  - 432
  - 438
  - 412
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook:
  - 384
  - 391
  - 392
  - 393
  - 394
  - 365
  - 366
  - 368
  - 369
  - 382
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file:
  - 448
  - 449
  - 451
  - 452
  - 456
  - 457
  - 441
  - 442
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook:
  - 400
  - 401
  - 402
  - 399
  jupyter_server.services.contents.fileio.FileManagerMixin:
  - 169
  - 186
  jupyter_server.services.contents.fileio.FileManagerMixin._copy:
  - 232
  - 236
  jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path:
  - 257
  - 259
  - 260
  - 239
  - 255
  jupyter_server.services.contents.fileio.FileManagerMixin._read_file:
  - 322
  - 324
  - 330
  - 304
  - 312
  - 315
  - 316
  - 318
  jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook:
  - 288
  - 289
  - 265
  - 266
  - 268
  - 277
  - 279
  - 286
  - 287
  jupyter_server.services.contents.fileio.FileManagerMixin._save_file:
  - 333
  - 334
  - 340
  - 341
  - 343
  - 344
  - 348
  - 349
  jupyter_server.services.contents.fileio.FileManagerMixin._save_notebook:
  - 296
  - 294
  - 295
  jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing:
  - 202
  - 205
  - 207
  - 208
  - 209
  - 211
  - 212
  jupyter_server.services.contents.fileio.FileManagerMixin.open:
  - 196
  - 197
  - 198
  jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403:
  - 224
  - 226
  - 216
  - 218
  - 220
  jupyter_server.services.contents.fileio._simple_writing:
  - 160
  - 162
  - 131
  - 165
  - 149
  - 150
  - 152
  - 154
  - 155
  - 157
  jupyter_server.services.contents.fileio.async_copy2_safe:
  - 46
  - 50
  - 52
  - 54
  - 55
  jupyter_server.services.contents.fileio.async_replace_file:
  - 28
  - 29
  jupyter_server.services.contents.fileio.atomic_writing:
  - 96
  - 97
  - 99
  - 101
  - 102
  - 104
  - 74
  - 106
  - 107
  - 109
  - 112
  - 115
  - 116
  - 120
  - 121
  - 122
  - 125
  - 126
  jupyter_server.services.contents.fileio.copy2_safe:
  - 33
  - 37
  - 39
  - 41
  - 42
  jupyter_server.services.contents.fileio.path_to_intermediate:
  - 59
  - 62
  - 63
  jupyter_server.services.contents.fileio.path_to_invalid:
  - 67
  - 68
  - 69
  jupyter_server.services.contents.fileio.replace_file:
  - 24
  - 23
  jupyter_server.services.contents.filemanager:
  - 1
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager:
  - 729
  - 727
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._copy_dir:
  - 1128
  - 1133
  - 1134
  - 1135
  - 1136
  - 1138
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model:
  - 768
  - 769
  - 772
  - 773
  - 774
  - 775
  - 777
  - 781
  - 782
  - 784
  - 787
  - 788
  - 734
  - 738
  - 742
  - 744
  - 745
  - 748
  - 751
  - 753
  - 754
  - 755
  - 757
  - 759
  - 763
  - 766
  - 767
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model:
  - 808
  - 811
  - 812
  - 814
  - 815
  - 816
  - 823
  - 799
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size:
  - 1166
  - 1170
  - 1172
  - 1174
  - 1178
  - 1179
  - 1181
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._human_readable_size:
  - 1192
  - 1196
  - 1189
  - 1198
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model:
  - 836
  - 838
  - 840
  - 842
  - 845
  - 848
  - 831
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory:
  - 898
  - 899
  - 901
  - 902
  - 903
  - 904
  - 907
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.check_folder_size:
  - 1153
  - 1147
  - 1155
  - 1156
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.copy:
  - 1090
  - 1091
  - 1092
  - 1093
  - 1114
  - 1095
  - 1096
  - 1101
  - 1103
  - 1104
  - 1107
  - 1110
  - 1111
  - 1113
  - 1082
  - 1115
  - 1118
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file:
  - 1024
  - 1025
  - 1026
  - 959
  - 960
  - 961
  - 964
  - 967
  - 992
  - 993
  - 996
  - 1001
  - 1005
  - 1007
  - 1008
  - 1011
  - 1016
  - 1018
  - 1020
  - 1021
  - 1022
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file._check_trash:
  - 977
  - 978
  - 971
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir:
  - 985
  - 986
  - 987
  - 982
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists:
  - 1057
  - 1058
  - 1059
  - 1060
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists:
  - 1064
  - 1065
  - 1066
  - 1063
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get:
  - 874
  - 876
  - 879
  - 880
  - 881
  - 853
  - 887
  - 888
  - 889
  - 891
  - 893
  - 894
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get_kernel_path:
  - 1075
  - 1076
  - 1078
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden:
  - 1072
  - 1069
  - 1070
  - 1071
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file:
  - 1029
  - 1030
  - 1031
  - 1032
  - 1035
  - 1036
  - 1038
  - 1039
  - 1044
  - 1049
  - 1050
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save:
  - 910
  - 911
  - 913
  - 915
  - 917
  - 920
  - 921
  - 925
  - 926
  - 927
  - 928
  - 930
  - 931
  - 932
  - 934
  - 935
  - 936
  - 942
  - 946
  - 947
  - 948
  - 950
  - 951
  - 954
  - 955
  jupyter_server.services.contents.filemanager.FileContentsManager:
  - 66
  - 98
  - 106
  - 43
  - 45
  - 47
  - 49
  - 116
  - 56
  - 88
  - 120
  - 94
  jupyter_server.services.contents.filemanager.FileContentsManager._base_model:
  - 224
  - 225
  - 258
  - 229
  - 230
  - 266
  - 237
  - 241
  - 247
  - 248
  - 251
  - 253
  - 254
  - 223
  jupyter_server.services.contents.filemanager.FileContentsManager._copy_dir:
  - 653
  - 658
  - 659
  - 660
  - 661
  - 663
  jupyter_server.services.contents.filemanager.FileContentsManager._default_preferred_dir:
  - 70
  - 75
  - 76
  - 82
  - 83
  jupyter_server.services.contents.filemanager.FileContentsManager._default_root_dir:
  - 54
  jupyter_server.services.contents.filemanager.FileContentsManager._dir_model:
  - 271
  - 275
  - 279
  - 281
  - 282
  - 285
  - 288
  - 290
  - 291
  - 293
  - 295
  - 299
  - 302
  - 303
  - 304
  - 305
  - 308
  - 309
  - 310
  - 311
  - 313
  - 317
  - 318
  - 320
  - 323
  - 324
  jupyter_server.services.contents.filemanager.FileContentsManager._file_model:
  - 352
  - 359
  - 335
  - 344
  - 347
  - 348
  - 350
  - 351
  jupyter_server.services.contents.filemanager.FileContentsManager._get_dir_size:
  - 704
  - 706
  - 691
  - 695
  - 697
  - 699
  - 703
  jupyter_server.services.contents.filemanager.FileContentsManager._human_readable_size:
  - 721
  - 714
  - 723
  - 717
  jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model:
  - 384
  - 367
  - 372
  - 374
  - 376
  - 378
  - 381
  jupyter_server.services.contents.filemanager.FileContentsManager._save_directory:
  - 448
  - 439
  - 440
  - 442
  - 443
  - 444
  - 445
  jupyter_server.services.contents.filemanager.FileContentsManager._validate_preferred_dir:
  - 91
  - 92
  jupyter_server.services.contents.filemanager.FileContentsManager._validate_root_dir:
  - 59
  - 61
  - 62
  jupyter_server.services.contents.filemanager.FileContentsManager.check_folder_size:
  - 672
  - 681
  - 677
  - 679
  jupyter_server.services.contents.filemanager.FileContentsManager.copy:
  - 640
  - 609
  - 641
  - 642
  - 645
  - 617
  - 618
  - 619
  - 620
  - 622
  - 623
  - 628
  - 630
  - 631
  - 634
  - 637
  - 638
  jupyter_server.services.contents.filemanager.FileContentsManager.delete_file:
  - 513
  - 537
  - 538
  - 542
  - 546
  - 548
  - 549
  - 552
  - 557
  - 559
  - 561
  - 562
  - 563
  - 565
  - 566
  - 567
  - 504
  - 505
  - 506
  - 509
  jupyter_server.services.contents.filemanager.FileContentsManager.delete_file._check_trash:
  - 523
  - 524
  - 517
  jupyter_server.services.contents.filemanager.FileContentsManager.delete_file.is_non_empty_dir:
  - 528
  - 531
  - 532
  jupyter_server.services.contents.filemanager.FileContentsManager.dir_exists:
  - 184
  - 201
  - 200
  - 199
  jupyter_server.services.contents.filemanager.FileContentsManager.exists:
  - 220
  - 218
  - 219
  - 204
  jupyter_server.services.contents.filemanager.FileContentsManager.file_exists:
  - 179
  - 180
  - 165
  - 181
  jupyter_server.services.contents.filemanager.FileContentsManager.get:
  - 417
  - 418
  - 389
  - 421
  - 422
  - 428
  - 429
  - 430
  - 432
  - 434
  - 435
  - 410
  - 411
  - 414
  jupyter_server.services.contents.filemanager.FileContentsManager.get_kernel_path:
  - 602
  - 603
  - 605
  jupyter_server.services.contents.filemanager.FileContentsManager.info_string:
  - 598
  - 599
  jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden:
  - 138
  - 139
  - 140
  - 125
  jupyter_server.services.contents.filemanager.FileContentsManager.is_writable:
  - 161
  - 143
  - 156
  - 157
  - 159
  jupyter_server.services.contents.filemanager.FileContentsManager.rename_file:
  - 576
  - 577
  - 579
  - 580
  - 585
  - 590
  - 591
  - 570
  - 571
  - 572
  - 573
  jupyter_server.services.contents.filemanager.FileContentsManager.save:
  - 451
  - 452
  - 454
  - 456
  - 458
  - 461
  - 463
  - 466
  - 470
  - 471
  - 472
  - 473
  - 475
  - 476
  - 477
  - 479
  - 480
  - 481
  - 487
  - 491
  - 492
  - 493
  - 495
  - 496
  - 499
  - 500
  jupyter_server.services.contents.handlers:
  - 1
  jupyter_server.services.contents.handlers.CheckpointsHandler:
  - 288
  jupyter_server.services.contents.handlers.CheckpointsHandler.get:
  - 296
  - 297
  - 293
  - 295
  jupyter_server.services.contents.handlers.CheckpointsHandler.post:
  - 302
  - 304
  - 305
  - 306
  - 309
  - 311
  - 313
  - 314
  - 315
  jupyter_server.services.contents.handlers.ContentsAPIHandler:
  - 67
  jupyter_server.services.contents.handlers.ContentsHandler:
  - 73
  jupyter_server.services.contents.handlers.ContentsHandler._copy:
  - 163
  - 164
  - 165
  - 166
  - 156
  - 157
  - 158
  jupyter_server.services.contents.handlers.ContentsHandler._finish_model:
  - 86
  - 87
  - 88
  - 89
  - 90
  - 91
  - 92
  jupyter_server.services.contents.handlers.ContentsHandler._new_untitled:
  - 177
  - 178
  - 179
  - 180
  - 182
  - 183
  - 184
  jupyter_server.services.contents.handlers.ContentsHandler._save:
  - 192
  - 193
  - 187
  - 188
  - 189
  - 190
  - 191
  jupyter_server.services.contents.handlers.ContentsHandler._upload:
  - 169
  - 170
  - 171
  - 172
  - 173
  - 174
  jupyter_server.services.contents.handlers.ContentsHandler.delete:
  - 275
  - 278
  - 281
  - 282
  - 283
  - 284
  jupyter_server.services.contents.handlers.ContentsHandler.get:
  - 97
  - 129
  - 130
  - 105
  - 106
  - 110
  - 111
  - 113
  - 114
  - 116
  - 118
  - 121
  - 122
  jupyter_server.services.contents.handlers.ContentsHandler.location_url:
  - 83
  - 76
  jupyter_server.services.contents.handlers.ContentsHandler.patch:
  - 135
  - 137
  - 138
  - 141
  - 142
  - 146
  - 151
  - 152
  - 153
  jupyter_server.services.contents.handlers.ContentsHandler.post:
  - 225
  - 227
  - 228
  - 229
  - 198
  - 232
  - 234
  - 211
  - 212
  - 215
  - 216
  - 217
  - 218
  - 219
  - 220
  - 221
  jupyter_server.services.contents.handlers.ContentsHandler.put:
  - 256
  - 257
  - 261
  - 262
  - 265
  - 266
  - 268
  - 270
  - 239
  - 249
  - 252
  - 253
  - 255
  jupyter_server.services.contents.handlers.ModifyCheckpointsHandler:
  - 319
  jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.delete:
  - 336
  - 337
  - 333
  - 335
  jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.post:
  - 328
  - 324
  - 326
  - 327
  jupyter_server.services.contents.handlers.NotebooksRedirectHandler:
  - 341
  jupyter_server.services.contents.handlers.NotebooksRedirectHandler.get:
  - 346
  - 347
  - 348
  jupyter_server.services.contents.handlers.TrustNotebooksHandler:
  - 354
  - 357
  jupyter_server.services.contents.handlers.TrustNotebooksHandler.post:
  - 361
  - 362
  - 363
  - 359
  jupyter_server.services.contents.handlers.validate_model:
  - 42
  - 43
  - 50
  - 52
  - 25
  - 59
  jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager:
  - 86
  jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file:
  - 136
  - 137
  - 143
  - 144
  - 146
  - 147
  - 151
  - 152
  - 153
  - 154
  - 155
  jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save:
  - 128
  - 130
  - 133
  - 89
  - 90
  - 91
  - 92
  - 94
  - 95
  - 97
  - 99
  - 104
  - 107
  - 108
  - 109
  - 111
  - 114
  - 115
  - 117
  - 121
  - 124
  - 127
  jupyter_server.services.contents.largefilemanager.LargeFileManager:
  - 14
  jupyter_server.services.contents.largefilemanager.LargeFileManager._save_large_file:
  - 64
  - 70
  - 71
  - 73
  - 74
  - 78
  - 79
  - 80
  - 81
  - 82
  - 63
  jupyter_server.services.contents.largefilemanager.LargeFileManager.save:
  - 17
  - 18
  - 19
  - 20
  - 22
  - 23
  - 25
  - 27
  - 32
  - 35
  - 36
  - 37
  - 39
  - 42
  - 43
  - 45
  - 49
  - 52
  - 55
  - 56
  - 57
  - 60
  jupyter_server.services.contents.manager:
  - 1
  - 39
  jupyter_server.services.contents.manager.AsyncContentsManager:
  - 757
  - 759
  - 760
  - 761
  - 763
  - 767
  jupyter_server.services.contents.manager.AsyncContentsManager._default_checkpoints:
  - 765
  jupyter_server.services.contents.manager.AsyncContentsManager.copy:
  - 1027
  - 1028
  - 1029
  - 1030
  - 1034
  - 1036
  - 1037
  - 1038
  - 1040
  - 1041
  - 1042
  - 1043
  - 1048
  - 1049
  - 1007
  - 1016
  - 1018
  - 1019
  - 1021
  - 1022
  jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint:
  - 1068
  - 1069
  jupyter_server.services.contents.manager.AsyncContentsManager.delete:
  - 877
  - 878
  - 879
  - 882
  - 883
  - 884
  jupyter_server.services.contents.manager.AsyncContentsManager.delete_checkpoint:
  - 1082
  - 1083
  jupyter_server.services.contents.manager.AsyncContentsManager.delete_file:
  - 866
  jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists:
  - 778
  jupyter_server.services.contents.manager.AsyncContentsManager.exists:
  - 848
  - 833
  - 847
  jupyter_server.services.contents.manager.AsyncContentsManager.file_exists:
  - 814
  jupyter_server.services.contents.manager.AsyncContentsManager.get:
  - 852
  jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename:
  - 930
  - 932
  - 935
  - 936
  - 906
  - 923
  - 924
  - 925
  - 926
  jupyter_server.services.contents.manager.AsyncContentsManager.is_hidden:
  - 797
  jupyter_server.services.contents.manager.AsyncContentsManager.list_checkpoints:
  - 1078
  - 1079
  jupyter_server.services.contents.manager.AsyncContentsManager.new:
  - 994
  - 995
  - 996
  - 1003
  - 980
  - 984
  - 985
  - 988
  - 989
  - 991
  jupyter_server.services.contents.manager.AsyncContentsManager.new_untitled:
  - 961
  - 964
  - 967
  - 970
  - 941
  - 975
  - 977
  - 949
  - 950
  - 951
  - 955
  - 958
  - 959
  jupyter_server.services.contents.manager.AsyncContentsManager.rename:
  - 888
  - 889
  - 890
  - 887
  jupyter_server.services.contents.manager.AsyncContentsManager.rename_file:
  - 870
  jupyter_server.services.contents.manager.AsyncContentsManager.restore_checkpoint:
  - 1072
  - 1075
  jupyter_server.services.contents.manager.AsyncContentsManager.save:
  - 856
  jupyter_server.services.contents.manager.AsyncContentsManager.trust_notebook:
  - 1060
  - 1062
  - 1063
  - 1064
  - 1053
  jupyter_server.services.contents.manager.AsyncContentsManager.update:
  - 898
  - 899
  - 900
  - 901
  - 902
  - 893
  jupyter_server.services.contents.manager.ContentsManager:
  - 261
  - 262
  - 135
  - 136
  - 141
  - 145
  - 151
  - 43
  - 174
  - 189
  - 62
  - 64
  - 321
  - 322
  - 323
  - 325
  - 329
  - 79
  - 336
  - 81
  - 210
  - 84
  - 89
  - 353
  - 110
  - 112
  - 114
  - 118
  - 119
  jupyter_server.services.contents.manager.ContentsManager._default_checkpoints:
  - 327
  jupyter_server.services.contents.manager.ContentsManager._default_event_logger:
  - 72
  - 66
  - 70
  jupyter_server.services.contents.manager.ContentsManager._notary_default:
  - 116
  jupyter_server.services.contents.manager.ContentsManager._validate_post_save_hook:
  - 213
  - 214
  - 215
  - 218
  - 219
  jupyter_server.services.contents.manager.ContentsManager._validate_pre_save_hook:
  - 177
  - 178
  - 179
  - 182
  - 183
  jupyter_server.services.contents.manager.ContentsManager._validate_preferred_dir:
  - 96
  - 98
  - 101
  - 104
  - 105
  - 91
  - 95
  jupyter_server.services.contents.manager.ContentsManager.check_and_sign:
  - 712
  - 713
  - 715
  - 701
  jupyter_server.services.contents.manager.ContentsManager.copy:
  - 646
  - 648
  - 649
  - 651
  - 652
  - 657
  - 658
  - 659
  - 660
  - 664
  - 666
  - 667
  - 668
  - 670
  - 671
  - 672
  - 673
  - 678
  - 679
  - 637
  jupyter_server.services.contents.manager.ContentsManager.create_checkpoint:
  - 740
  - 741
  jupyter_server.services.contents.manager.ContentsManager.delete:
  - 473
  - 474
  - 475
  - 477
  - 478
  - 479
  jupyter_server.services.contents.manager.ContentsManager.delete_checkpoint:
  - 753
  jupyter_server.services.contents.manager.ContentsManager.delete_file:
  - 462
  jupyter_server.services.contents.manager.ContentsManager.dir_exists:
  - 376
  jupyter_server.services.contents.manager.ContentsManager.emit:
  - 76
  - 77
  jupyter_server.services.contents.manager.ContentsManager.exists:
  - 445
  - 431
  jupyter_server.services.contents.manager.ContentsManager.file_exists:
  - 412
  jupyter_server.services.contents.manager.ContentsManager.get:
  - 448
  jupyter_server.services.contents.manager.ContentsManager.get_extra_handlers:
  - 368
  - 369
  - 363
  jupyter_server.services.contents.manager.ContentsManager.get_kernel_path:
  - 505
  jupyter_server.services.contents.manager.ContentsManager.increment_filename:
  - 546
  - 517
  - 534
  - 535
  - 536
  - 537
  - 541
  - 543
  jupyter_server.services.contents.manager.ContentsManager.info_string:
  - 501
  jupyter_server.services.contents.manager.ContentsManager.is_hidden:
  - 395
  jupyter_server.services.contents.manager.ContentsManager.list_checkpoints:
  - 750
  jupyter_server.services.contents.manager.ContentsManager.log_info:
  - 683
  - 684
  jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells:
  - 718
  - 729
  - 730
  - 731
  - 732
  jupyter_server.services.contents.manager.ContentsManager.new:
  - 610
  - 614
  - 615
  - 618
  - 619
  - 621
  - 624
  - 625
  - 626
  - 633
  jupyter_server.services.contents.manager.ContentsManager.new_untitled:
  - 580
  - 581
  - 585
  - 588
  - 589
  - 591
  - 594
  - 597
  - 600
  - 572
  - 605
  - 607
  jupyter_server.services.contents.manager.ContentsManager.register_post_save_hook:
  - 274
  - 275
  - 276
  - 277
  - 280
  jupyter_server.services.contents.manager.ContentsManager.register_pre_save_hook:
  - 265
  - 266
  - 267
  - 268
  - 271
  jupyter_server.services.contents.manager.ContentsManager.rename:
  - 482
  - 483
  - 484
  - 485
  jupyter_server.services.contents.manager.ContentsManager.rename_file:
  - 466
  jupyter_server.services.contents.manager.ContentsManager.restore_checkpoint:
  - 744
  - 747
  jupyter_server.services.contents.manager.ContentsManager.run_post_save_hook:
  - 257
  - 246
  - 247
  - 252
  - 254
  - 255
  jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks:
  - 305
  - 308
  - 310
  - 311
  - 313
  jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hook:
  - 226
  - 227
  - 232
  - 234
  - 235
  - 243
  jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks:
  - 288
  - 289
  - 297
  - 283
  - 286
  jupyter_server.services.contents.manager.ContentsManager.save:
  - 452
  jupyter_server.services.contents.manager.ContentsManager.should_list:
  - 736
  - 735
  jupyter_server.services.contents.manager.ContentsManager.trust_notebook:
  - 687
  - 694
  - 696
  - 697
  - 698
  jupyter_server.services.contents.manager.ContentsManager.update:
  - 488
  - 493
  - 494
  - 495
  - 496
  - 497
  jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model:
  - 551
  - 558
  - 559
  - 560
  - 563
  - 565
  - 566
  - 567
  jupyter_server.services.events.handlers:
  - 1
  jupyter_server.services.events.handlers.EventHandler:
  - 92
  jupyter_server.services.events.handlers.EventHandler.post:
  - 99
  - 100
  - 101
  - 105
  - 106
  - 107
  - 108
  - 109
  - 111
  - 112
  jupyter_server.services.events.handlers.SubscribeWebsocket:
  - 24
  jupyter_server.services.events.handlers.SubscribeWebsocket.event_listener:
  - 50
  - 51
  - 52
  jupyter_server.services.events.handlers.SubscribeWebsocket.get:
  - 44
  - 45
  - 46
  - 47
  jupyter_server.services.events.handlers.SubscribeWebsocket.on_close:
  - 61
  - 62
  jupyter_server.services.events.handlers.SubscribeWebsocket.open:
  - 58
  - 55
  jupyter_server.services.events.handlers.SubscribeWebsocket.pre_get:
  - 40
  - 35
  - 36
  - 29
  jupyter_server.services.events.handlers.get_timestamp:
  - 74
  - 76
  - 77
  jupyter_server.services.events.handlers.validate_model:
  - 66
  - 68
  - 69
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC:
  - 6
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.connect:
  - 17
  - 18
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.disconnect:
  - 22
  - 23
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.handle_incoming_message:
  - 27
  - 28
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.handle_outgoing_message:
  - 32
  - 33
  jupyter_server.services.kernels.connection.base:
  - 1
  - 164
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection:
  - 133
  - 135
  - 139
  - 141
  - 111
  - 145
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection._default_session:
  - 143
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.connect:
  - 148
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.disconnect:
  - 152
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.handle_incoming_message:
  - 156
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.handle_outgoing_message:
  - 160
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.kernel_id:
  - 125
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.kernel_manager:
  - 115
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.multi_kernel_manager:
  - 120
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.session_id:
  - 130
  jupyter_server.services.kernels.connection.base.deserialize_binary_message:
  - 64
  - 65
  - 67
  - 68
  - 69
  - 70
  - 71
  - 50
  - 63
  jupyter_server.services.kernels.connection.base.deserialize_msg_from_ws_v1:
  - 100
  - 101
  - 103
  - 105
  - 106
  jupyter_server.services.kernels.connection.base.serialize_binary_message:
  - 36
  - 37
  - 38
  - 39
  - 40
  - 42
  - 43
  - 44
  - 45
  - 46
  - 21
  jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1:
  - 77
  - 78
  - 80
  - 81
  - 82
  - 83
  - 87
  - 89
  - 90
  - 91
  - 92
  - 93
  - 94
  - 95
  jupyter_server.services.kernels.connection.channels:
  - 1
  - 821
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection:
  - 132
  - 134
  - 135
  - 136
  - 137
  - 141
  - 47
  - 49
  - 52
  - 59
  - 62
  - 69
  - 72
  - 79
  - 82
  - 88
  - 92
  - 110
  - 115
  - 116
  - 118
  - 120
  - 125
  - 127
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._default_close_future:
  - 129
  - 130
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._default_kernel_info_future:
  - 122
  - 123
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._finish_kernel_info:
  - 642
  - 643
  - 627
  - 632
  - 633
  - 634
  - 635
  - 636
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._handle_kernel_info_reply:
  - 608
  - 610
  - 611
  - 615
  - 616
  - 617
  - 619
  - 622
  - 623
  - 602
  - 606
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._limit_rate:
  - 770
  - 774
  - 661
  - 662
  - 665
  - 668
  - 669
  - 670
  - 679
  - 681
  - 682
  - 684
  - 695
  - 700
  - 704
  - 705
  - 708
  - 709
  - 711
  - 714
  - 715
  - 716
  - 733
  - 735
  - 736
  - 739
  - 740
  - 742
  - 745
  - 746
  - 747
  - 764
  - 766
  - 767
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_error:
  - 806
  - 807
  - 810
  - 811
  - 812
  - 813
  - 817
  - 818
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_zmq_reply:
  - 577
  - 557
  - 560
  - 561
  - 562
  - 564
  - 565
  - 566
  - 567
  - 570
  - 572
  - 575
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._register_session:
  - 292
  - 293
  - 294
  - 295
  - 296
  - 285
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply:
  - 546
  - 547
  - 548
  - 550
  - 551
  - 554
  - 532
  - 542
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._send_status_message:
  - 780
  - 781
  - 782
  - 786
  - 787
  - 788
  - 789
  - 790
  - 793
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.close:
  - 403
  - 404
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.close_all:
  - 145
  - 146
  - 147
  - 148
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect:
  - 384
  - 385
  - 386
  - 389
  - 390
  - 398
  - 399
  - 343
  - 344
  - 347
  - 348
  - 349
  - 350
  - 353
  - 358
  - 368
  - 371
  - 372
  - 377
  - 378
  - 383
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect.replay:
  - 362
  - 363
  - 364
  - 366
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect.subscribe:
  - 395
  - 396
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.create_stream:
  - 160
  - 162
  - 163
  - 164
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect:
  - 439
  - 419
  - 440
  - 426
  - 427
  - 445
  - 430
  - 431
  - 437
  - 438
  - 407
  - 408
  - 410
  - 411
  - 444
  - 413
  - 414
  - 415
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part:
  - 528
  - 521
  - 522
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_incoming_message:
  - 450
  - 452
  - 454
  - 457
  - 458
  - 463
  - 464
  - 466
  - 468
  - 470
  - 471
  - 473
  - 474
  - 478
  - 479
  - 481
  - 482
  - 487
  - 489
  - 490
  - 492
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_outgoing_message:
  - 512
  - 515
  - 516
  - 518
  - 495
  - 497
  - 499
  - 502
  - 504
  - 507
  - 510
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge:
  - 276
  - 279
  - 281
  - 282
  - 168
  - 181
  - 182
  - 183
  - 184
  - 185
  - 188
  - 191
  - 195
  - 196
  - 197
  - 217
  - 241
  - 242
  - 243
  - 244
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.cleanup:
  - 208
  - 209
  - 210
  - 211
  - 212
  - 213
  - 214
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.finish:
  - 200
  - 203
  - 204
  - 205
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.nudge:
  - 257
  - 258
  - 259
  - 263
  - 264
  - 265
  - 268
  - 270
  - 271
  - 272
  - 274
  - 248
  - 251
  - 252
  - 253
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_control_reply:
  - 227
  - 228
  - 229
  - 230
  - 231
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_iopub:
  - 234
  - 235
  - 236
  - 237
  - 238
  - 239
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_shell_reply:
  - 224
  - 220
  - 221
  - 222
  - 223
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.on_kernel_restarted:
  - 796
  - 797
  - 798
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.on_restart_failed:
  - 801
  - 802
  - 803
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.prepare:
  - 320
  - 321
  - 322
  - 323
  - 328
  - 302
  - 304
  - 337
  - 338
  - 340
  - 309
  - 311
  - 312
  - 314
  - 317
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.prepare.give_up:
  - 331
  - 332
  - 334
  - 335
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info:
  - 580
  - 585
  - 588
  - 589
  - 591
  - 592
  - 596
  - 597
  - 598
  - 599
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info.<lambda1>:
  - 598
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.subprotocol:
  - 152
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message:
  - 103
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr:
  - 646
  - 647
  - 648
  - 653
  - 654
  - 655
  - 658
  jupyter_server.services.kernels.connection.channels._ensure_future:
  - 40
  - 41
  - 38
  jupyter_server.services.kernels.handlers:
  - 1
  jupyter_server.services.kernels.handlers.KernelActionHandler:
  - 87
  jupyter_server.services.kernels.handlers.KernelActionHandler.post:
  - 96
  - 97
  - 99
  - 102
  - 103
  - 104
  - 105
  - 107
  - 108
  - 109
  - 92
  - 94
  - 95
  jupyter_server.services.kernels.handlers.KernelHandler:
  - 66
  jupyter_server.services.kernels.handlers.KernelHandler.delete:
  - 81
  - 82
  - 83
  - 79
  jupyter_server.services.kernels.handlers.KernelHandler.get:
  - 73
  - 74
  - 71
  jupyter_server.services.kernels.handlers.KernelsAPIHandler:
  - 28
  jupyter_server.services.kernels.handlers.MainKernelHandler:
  - 34
  jupyter_server.services.kernels.handlers.MainKernelHandler.get:
  - 41
  - 42
  - 39
  jupyter_server.services.kernels.handlers.MainKernelHandler.post:
  - 47
  - 49
  - 50
  - 53
  - 55
  - 56
  - 58
  - 59
  - 60
  - 61
  - 62
  jupyter_server.services.kernels.kernelmanager:
  - 1
  jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager:
  - 683
  - 677
  - 679
  jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager.__init__:
  - 699
  - 702
  - 703
  jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager._validate_kernel_manager_class:
  - 688
  - 689
  - 685
  - 687
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager:
  - 128
  - 142
  - 144
  - 148
  - 160
  - 161
  - 168
  - 172
  - 46
  - 52
  - 56
  - 58
  - 60
  - 62
  - 68
  - 75
  - 86
  - 95
  - 101
  - 108
  - 115
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.__init__:
  - 154
  - 157
  - 158
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel:
  - 471
  - 472
  - 433
  - 434
  - 435
  - 436
  - 467
  - 438
  - 439
  - 469
  - 470
  - 474
  - 475
  - 476
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish:
  - 442
  - 443
  - 444
  - 445
  - 446
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_reply:
  - 450
  - 451
  - 452
  - 453
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_restart_failed:
  - 464
  - 465
  - 462
  - 463
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_timeout:
  - 456
  - 457
  - 458
  - 459
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_shutdown_kernel:
  - 417
  - 419
  - 420
  - 421
  - 423
  - 424
  - 426
  - 412
  - 413
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_start_kernel:
  - 224
  - 225
  - 228
  - 230
  - 231
  - 232
  - 236
  - 207
  - 239
  - 240
  - 241
  - 245
  - 248
  - 251
  - 252
  - 222
  - 223
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id:
  - 525
  - 526
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_kernel_buffers:
  - 146
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_root_dir:
  - 73
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start:
  - 262
  - 263
  - 264
  - 266
  - 267
  - 269
  - 271
  - 275
  - 277
  - 279
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start.<lambda1>:
  - 279
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._get_changed_ports:
  - 304
  - 312
  - 313
  - 314
  - 315
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._handle_kernel_died:
  - 184
  - 185
  - 183
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._remove_kernel_when_ready:
  - 200
  - 197
  - 198
  - 199
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._update_root_dir:
  - 81
  - 82
  - 77
  - 79
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernel_if_idle:
  - 641
  - 644
  - 647
  - 663
  - 653
  - 656
  - 658
  - 661
  - 662
  - 631
  - 634
  - 635
  - 671
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernels:
  - 613
  - 614
  - 619
  - 620
  - 622
  - 624
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cwd_for_path:
  - 192
  - 193
  - 188
  - 189
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.get_buffer:
  - 359
  - 370
  - 371
  - 375
  - 377
  - 381
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.initialize_culler:
  - 608
  - 581
  - 585
  - 590
  - 591
  - 592
  - 598
  - 599
  - 604
  - 605
  - 606
  - 607
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.kernel_model:
  - 492
  - 496
  - 502
  - 504
  - 506
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.list_kernels:
  - 513
  - 514
  - 516
  - 517
  - 511
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.notify_connect:
  - 482
  - 483
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.notify_disconnect:
  - 488
  - 487
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.ports_changed:
  - 296
  - 298
  - 284
  - 295
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_buffering:
  - 320
  - 355
  - 356
  - 334
  - 335
  - 336
  - 339
  - 340
  - 342
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_buffering.buffer_msg:
  - 352
  - 353
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity:
  - 532
  - 568
  - 541
  - 542
  - 543
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity.record_activity:
  - 549
  - 550
  - 552
  - 553
  - 556
  - 557
  - 559
  - 566
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering:
  - 384
  - 391
  - 392
  - 394
  - 396
  - 398
  - 399
  - 400
  - 401
  - 404
  - 405
  - 407
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity:
  - 577
  - 578
  - 571
  - 573
  - 574
  - 575
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager:
  - 713
  - 714
  - 707
  - 710
  jupyter_server.services.kernels.websocket:
  - 1
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler:
  - 15
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.get:
  - 64
  - 65
  - 62
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.get_compression_options:
  - 32
  - 33
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.kernel_websocket_connection_class:
  - 21
  - 22
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.on_close:
  - 81
  - 82
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.on_message:
  - 77
  - 78
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.open:
  - 73
  - 74
  - 68
  - 71
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.pre_get:
  - 36
  - 39
  - 40
  - 44
  - 47
  - 48
  - 52
  - 53
  - 55
  - 58
  - 59
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.select_subprotocol:
  - 88
  - 90
  - 86
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.set_default_headers:
  - 25
  jupyter_server.services.kernelspecs.handlers:
  - 1
  jupyter_server.services.kernelspecs.handlers.KernelSpecHandler:
  - 91
  jupyter_server.services.kernelspecs.handlers.KernelSpecHandler.get:
  - 96
  - 98
  - 100
  - 103
  - 106
  - 107
  - 108
  jupyter_server.services.kernelspecs.handlers.KernelSpecsAPIHandler:
  - 53
  jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler:
  - 59
  jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler.get:
  - 64
  - 70
  - 71
  - 73
  - 76
  - 83
  - 86
  - 87
  jupyter_server.services.kernelspecs.handlers.is_kernelspec_model:
  - 43
  - 45
  jupyter_server.services.kernelspecs.handlers.kernelspec_model:
  - 32
  - 35
  - 36
  - 37
  - 38
  - 25
  - 30
  - 31
  jupyter_server.services.nbconvert.handlers:
  - 1
  jupyter_server.services.nbconvert.handlers.NbconvertRootHandler:
  - 16
  jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.get:
  - 32
  - 40
  - 42
  - 44
  - 58
  jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.initialize:
  - 25
  - 26
  - 22
  - 23
  jupyter_server.services.security.handlers:
  - 1
  jupyter_server.services.security.handlers.CSPReportHandler:
  - 15
  jupyter_server.services.security.handlers.CSPReportHandler.check_xsrf_cookie:
  - 25
  jupyter_server.services.security.handlers.CSPReportHandler.post:
  - 32
  - 34
  - 31
  jupyter_server.services.security.handlers.CSPReportHandler.skip_check_origin:
  - 21
  jupyter_server.services.sessions.handlers:
  - 1
  jupyter_server.services.sessions.handlers.SessionHandler:
  - 116
  jupyter_server.services.sessions.handlers.SessionHandler.delete:
  - 194
  - 187
  - 190
  - 195
  jupyter_server.services.sessions.handlers.SessionHandler.get:
  - 121
  - 123
  - 124
  jupyter_server.services.sessions.handlers.SessionHandler.patch:
  - 129
  - 136
  - 137
  - 141
  - 144
  - 145
  - 148
  - 150
  - 152
  - 154
  - 156
  - 158
  - 161
  - 163
  - 172
  - 173
  - 175
  - 178
  - 180
  - 181
  - 182
  jupyter_server.services.sessions.handlers.SessionRootHandler:
  - 34
  jupyter_server.services.sessions.handlers.SessionRootHandler.get:
  - 41
  - 42
  - 39
  jupyter_server.services.sessions.handlers.SessionRootHandler.post:
  - 47
  - 51
  - 52
  - 55
  - 56
  - 58
  - 60
  - 75
  - 76
  - 77
  - 78
  - 80
  - 81
  - 84
  - 85
  - 86
  - 89
  - 102
  - 103
  - 104
  - 109
  - 110
  - 111
  - 112
  jupyter_server.services.sessions.handlers.SessionsAPIHandler:
  - 28
  jupyter_server.services.sessions.sessionmanager:
  - 1
  - 10
  - 11
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecord:
  - 39
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecord.__eq__:
  - 64
  - 50
  - 51
  - 53
  - 59
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecord.update:
  - 82
  - 83
  - 87
  - 91
  - 92
  - 93
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordConflict:
  - 30
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList:
  - 97
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__contains__:
  - 118
  - 119
  - 122
  - 123
  - 124
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__init__:
  - 108
  - 110
  - 111
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__len__:
  - 129
  - 130
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__str__:
  - 114
  - 115
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.get:
  - 133
  - 136
  - 137
  - 138
  - 140
  - 141
  - 142
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.remove:
  - 160
  - 156
  - 159
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update:
  - 153
  - 148
  - 150
  - 151
  jupyter_server.services.sessions.sessionmanager.SessionManager:
  - 164
  - 197
  - 198
  - 166
  - 176
  jupyter_server.services.sessions.sessionmanager.SessionManager.__del__:
  - 242
  - 243
  jupyter_server.services.sessions.sessionmanager.SessionManager.__init__:
  - 208
  - 206
  - 207
  jupyter_server.services.sessions.sessionmanager.SessionManager._validate_database_filepath:
  - 192
  - 178
  - 180
  - 182
  - 183
  - 185
  - 189
  - 190
  jupyter_server.services.sessions.sessionmanager.SessionManager.close:
  - 236
  - 237
  - 238
  jupyter_server.services.sessions.sessionmanager.SessionManager.connection:
  - 228
  - 229
  - 231
  jupyter_server.services.sessions.sessionmanager.SessionManager.create_session:
  - 291
  - 292
  - 295
  - 273
  - 281
  - 282
  - 283
  - 284
  - 287
  jupyter_server.services.sessions.sessionmanager.SessionManager.cursor:
  - 217
  - 218
  - 219
  - 220
  jupyter_server.services.sessions.sessionmanager.SessionManager.delete_session:
  - 520
  - 521
  - 522
  - 523
  - 524
  - 525
  - 526
  jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env:
  - 301
  - 311
  - 312
  - 313
  - 314
  jupyter_server.services.sessions.sessionmanager.SessionManager.get_session:
  - 385
  - 417
  - 422
  - 424
  - 425
  - 430
  - 402
  - 407
  - 408
  - 411
  - 413
  - 415
  jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled:
  - 465
  jupyter_server.services.sessions.sessionmanager.SessionManager.list_sessions:
  - 513
  - 514
  - 505
  - 507
  - 511
  jupyter_server.services.sessions.sessionmanager.SessionManager.new_session_id:
  - 262
  - 263
  jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model:
  - 481
  - 486
  - 487
  - 491
  - 499
  - 469
  - 470
  - 471
  - 479
  jupyter_server.services.sessions.sessionmanager.SessionManager.save_session:
  - 353
  - 381
  - 377
  jupyter_server.services.sessions.sessionmanager.SessionManager.session_exists:
  - 256
  - 257
  - 246
  - 248
  - 249
  - 250
  jupyter_server.services.sessions.sessionmanager.SessionManager.start_kernel_for_session:
  - 344
  - 345
  - 325
  - 342
  jupyter_server.services.sessions.sessionmanager.SessionManager.update_session:
  - 450
  - 452
  - 457
  - 458
  - 460
  - 461
  - 462
  - 436
  jupyter_server.services.shutdown:
  - 1
  jupyter_server.services.shutdown.ShutdownHandler:
  - 12
  jupyter_server.services.shutdown.ShutdownHandler.post:
  - 24
  - 19
  - 20
  - 22
  jupyter_server.terminal:
  - 1
  - 9
  jupyter_server.terminal.api_handlers:
  - 1
  jupyter_server.terminal.handlers:
  - 1
  jupyter_server.terminal.initialize:
  - 17
  jupyter_server.terminal.terminalmanager:
  - 1
  jupyter_server.traittypes:
  - 1
  jupyter_server.traittypes.InstanceFromClasses:
  - 129
  jupyter_server.traittypes.InstanceFromClasses.__init__:
  - 162
  - 135
  - 170
  - 173
  - 180
  - 159
  jupyter_server.traittypes.InstanceFromClasses._resolve_classes:
  - 226
  - 214
  - 217
  - 218
  - 221
  - 222
  jupyter_server.traittypes.InstanceFromClasses.default_value_repr:
  - 237
  - 238
  jupyter_server.traittypes.InstanceFromClasses.from_string:
  - 241
  - 242
  jupyter_server.traittypes.InstanceFromClasses.info:
  - 194
  - 197
  - 198
  - 201
  - 203
  - 204
  jupyter_server.traittypes.InstanceFromClasses.instance_from_importable_klasses:
  - 184
  - 183
  jupyter_server.traittypes.InstanceFromClasses.instance_init:
  - 209
  - 210
  - 211
  jupyter_server.traittypes.InstanceFromClasses.make_dynamic_default:
  - 232
  - 229
  - 230
  jupyter_server.traittypes.InstanceFromClasses.validate:
  - 187
  - 188
  - 191
  jupyter_server.traittypes.TypeFromClasses:
  - 10
  jupyter_server.traittypes.TypeFromClasses.__init__:
  - 35
  - 40
  - 41
  - 47
  - 15
  - 51
  - 52
  - 59
  jupyter_server.traittypes.TypeFromClasses._resolve_classes:
  - 103
  - 105
  - 106
  - 109
  - 110
  - 114
  - 116
  - 117
  jupyter_server.traittypes.TypeFromClasses.default_value_repr:
  - 120
  - 122
  - 123
  - 125
  jupyter_server.traittypes.TypeFromClasses.info:
  - 85
  - 87
  - 88
  - 92
  - 93
  jupyter_server.traittypes.TypeFromClasses.instance_init:
  - 98
  - 99
  - 100
  jupyter_server.traittypes.TypeFromClasses.subclass_from_klasses:
  - 62
  - 63
  jupyter_server.traittypes.TypeFromClasses.validate:
  - 66
  - 67
  - 69
  - 72
  - 77
  - 82
  jupyter_server.transutils:
  - 1
  - 18
  - 19
  - 17
  jupyter_server.transutils._trans_gettext_deprecation_helper:
  - 10
  - 12
  - 13
  jupyter_server.utils:
  - 1
  - 29
  - 182
  jupyter_server.utils._check_pid_posix:
  - 168
  - 170
  - 172
  - 174
  jupyter_server.utils._check_pid_win32:
  - 164
  jupyter_server.utils._request_for_tornado_client:
  - 231
  - 269
  - 270
  - 239
  - 240
  - 242
  - 244
  - 276
  - 277
  - 278
  jupyter_server.utils._request_for_tornado_client.UnixSocketResolver:
  - 253
  jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.close:
  - 264
  jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.resolve:
  - 267
  jupyter_server.utils.async_fetch:
  - 298
  - 301
  - 294
  jupyter_server.utils.check_version:
  - 144
  - 151
  jupyter_server.utils.expand_path:
  - 394
  - 395
  - 396
  - 397
  - 398
  - 382
  jupyter_server.utils.fetch:
  - 289
  - 282
  - 286
  jupyter_server.utils.filefind:
  - 328
  - 360
  - 362
  - 365
  - 367
  - 370
  - 371
  - 372
  - 373
  - 374
  - 375
  jupyter_server.utils.import_item:
  - 416
  - 417
  - 420
  - 422
  - 428
  - 403
  jupyter_server.utils.is_namespace_package:
  - 321
  - 306
  - 315
  - 324
  jupyter_server.utils.path2url:
  - 57
  - 58
  - 60
  - 62
  jupyter_server.utils.run_sync_in_loop:
  - 195
  - 189
  - 190
  jupyter_server.utils.samefile_simple:
  - 112
  - 113
  - 114
  - 91
  jupyter_server.utils.to_api_path:
  - 130
  - 135
  - 136
  - 137
  - 139
  - 140
  jupyter_server.utils.to_os_path:
  - 126
  - 123
  - 125
  - 118
  jupyter_server.utils.unix_socket_in_use:
  - 226
  - 214
  - 215
  - 219
  - 220
  jupyter_server.utils.url2path:
  - 67
  - 68
  - 69
  jupyter_server.utils.url_escape:
  - 74
  - 78
  - 79
  jupyter_server.utils.url_is_absolute:
  - 52
  - 53
  jupyter_server.utils.url_path_join:
  - 33
  - 38
  - 39
  - 40
  - 41
  - 42
  - 44
  - 46
  jupyter_server.utils.url_unescape:
  - 83
  - 87
  jupyter_server.utils.urldecode_unix_socket_path:
  - 204
  - 205
  jupyter_server.utils.urlencode_unix_socket:
  - 209
  - 210
  jupyter_server.utils.urlencode_unix_socket_path:
  - 200
  - 199
  jupyter_server.view:
  - 1
  jupyter_server.view.handlers:
  - 1
  jupyter_server.view.handlers.ViewHandler:
  - 16
  jupyter_server.view.handlers.ViewHandler.get:
  - 23
  - 24
  - 25
  - 28
  - 29
  - 30
Fuzzer filename: /src/fuzz_serialization.py
Inheritance:
  jupyter_client.adapter.Adapter: []
  jupyter_client.adapter.V4toV5:
  - Adapter
  jupyter_client.adapter.V5toV4:
  - Adapter
  jupyter_client.asynchronous.client.AsyncKernelClient:
  - KernelClient
  jupyter_client.blocking.client.BlockingKernelClient:
  - KernelClient
  jupyter_client.channels.AsyncZMQSocketChannel:
  - ZMQSocketChannel
  jupyter_client.channels.HBChannel:
  - Thread
  jupyter_client.channels.InvalidPortNumber:
  - Exception
  jupyter_client.channels.ZMQSocketChannel: []
  jupyter_client.channelsabc.ChannelABC: []
  jupyter_client.channelsabc.HBChannelABC:
  - ChannelABC
  jupyter_client.client.KernelClient:
  - ConnectionFileMixin
  jupyter_client.clientabc.KernelClientABC: []
  jupyter_client.connect.ConnectionFileMixin:
  - LoggingConfigurable
  jupyter_client.connect.LocalPortCache:
  - SingletonConfigurable
  jupyter_client.consoleapp.IPythonConsoleApp:
  - JupyterConsoleApp
  jupyter_client.consoleapp.JupyterConsoleApp:
  - ConnectionFileMixin
  jupyter_client.ioloop.manager.AsyncIOLoopKernelManager:
  - AsyncKernelManager
  jupyter_client.ioloop.manager.IOLoopKernelManager:
  - KernelManager
  jupyter_client.ioloop.restarter.AsyncIOLoopKernelRestarter:
  - IOLoopKernelRestarter
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter:
  - KernelRestarter
  jupyter_client.kernelapp.KernelApp:
  - JupyterApp
  jupyter_client.kernelspec.KernelSpec:
  - HasTraits
  jupyter_client.kernelspec.KernelSpecManager:
  - LoggingConfigurable
  jupyter_client.kernelspec.NoSuchKernel:
  - KeyError
  jupyter_client.kernelspecapp.InstallKernelSpec:
  - JupyterApp
  jupyter_client.kernelspecapp.InstallNativeKernelSpec:
  - JupyterApp
  jupyter_client.kernelspecapp.KernelSpecApp:
  - Application
  jupyter_client.kernelspecapp.ListKernelSpecs:
  - JupyterApp
  jupyter_client.kernelspecapp.ListProvisioners:
  - JupyterApp
  jupyter_client.kernelspecapp.RemoveKernelSpec:
  - JupyterApp
  jupyter_client.localinterfaces.NoIPAddresses:
  - Exception
  jupyter_client.manager.AsyncKernelManager:
  - KernelManager
  jupyter_client.manager.KernelManager:
  - ConnectionFileMixin
  jupyter_client.manager._ShutdownStatus:
  - Enum
  jupyter_client.managerabc.KernelManagerABC: []
  jupyter_client.multikernelmanager.AsyncMultiKernelManager:
  - MultiKernelManager
  jupyter_client.multikernelmanager.DuplicateKernelError:
  - Exception
  jupyter_client.multikernelmanager.MultiKernelManager:
  - LoggingConfigurable
  jupyter_client.provisioning.factory.KernelProvisionerFactory:
  - SingletonConfigurable
  jupyter_client.provisioning.local_provisioner.LocalProvisioner:
  - KernelProvisionerBase
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase:
  - LoggingConfigurable
  - ABC
  jupyter_client.provisioning.provisioner_base.KernelProvisionerMeta:
  - ABCMeta
  jupyter_client.restarter.KernelRestarter:
  - LoggingConfigurable
  jupyter_client.runapp.RunApp:
  - JupyterApp
  - JupyterConsoleApp
  jupyter_client.session.Message: []
  jupyter_client.session.Session:
  - Configurable
  jupyter_client.session.SessionFactory:
  - LoggingConfigurable
  jupyter_client.ssh.forward.ForwardServer: []
  jupyter_client.ssh.forward.Handler: []
  jupyter_client.ssh.forward.forward_tunnel.SubHander:
  - Handler
  jupyter_client.ssh.tunnel.SSHException:
  - Exception
  jupyter_client.threaded.IOLoopThread:
  - Thread
  jupyter_client.threaded.ThreadedKernelClient:
  - KernelClient
  jupyter_client.threaded.ThreadedZMQSocketChannel: []
  jupyter_client.win_interrupt.create_interrupt_event.SECURITY_ATTRIBUTES: []
  jupyter_server._tz.tzUTC:
  - tzinfo
  jupyter_server.auth.authorizer.AllowAllAuthorizer:
  - Authorizer
  jupyter_server.auth.authorizer.Authorizer:
  - LoggingConfigurable
  jupyter_server.auth.identity.IdentityProvider:
  - LoggingConfigurable
  jupyter_server.auth.identity.LegacyIdentityProvider:
  - PasswordIdentityProvider
  jupyter_server.auth.identity.PasswordIdentityProvider:
  - IdentityProvider
  jupyter_server.auth.identity.User: []
  jupyter_server.auth.login.LegacyLoginHandler:
  - LoginFormHandler
  jupyter_server.auth.login.LoginFormHandler:
  - JupyterHandler
  jupyter_server.auth.logout.LogoutHandler:
  - JupyterHandler
  jupyter_server.base.handlers.APIHandler:
  - JupyterHandler
  jupyter_server.base.handlers.APIVersionHandler:
  - APIHandler
  jupyter_server.base.handlers.AuthenticatedFileHandler:
  - JupyterHandler
  jupyter_server.base.handlers.AuthenticatedHandler: []
  jupyter_server.base.handlers.FileFindHandler:
  - JupyterHandler
  jupyter_server.base.handlers.FilesRedirectHandler:
  - JupyterHandler
  jupyter_server.base.handlers.JupyterHandler:
  - AuthenticatedHandler
  jupyter_server.base.handlers.MainHandler:
  - JupyterHandler
  jupyter_server.base.handlers.PrometheusMetricsHandler:
  - JupyterHandler
  jupyter_server.base.handlers.RedirectWithParams: []
  jupyter_server.base.handlers.Template404:
  - JupyterHandler
  jupyter_server.base.handlers.TrailingSlashHandler: []
  jupyter_server.base.websocket.WebSocketMixin: []
  jupyter_server.config_manager.BaseJSONConfigManager:
  - LoggingConfigurable
  jupyter_server.extension.application.ExtensionApp:
  - JupyterApp
  jupyter_server.extension.application.ExtensionAppJinjaMixin:
  - HasTraits
  jupyter_server.extension.application.JupyterServerExtensionException:
  - Exception
  jupyter_server.extension.config.ExtensionConfigManager:
  - ConfigManager
  jupyter_server.extension.handler.ExtensionHandlerJinjaMixin: []
  jupyter_server.extension.handler.ExtensionHandlerMixin: []
  jupyter_server.extension.manager.ExtensionManager:
  - LoggingConfigurable
  jupyter_server.extension.manager.ExtensionPackage:
  - LoggingConfigurable
  jupyter_server.extension.manager.ExtensionPoint:
  - HasTraits
  jupyter_server.extension.serverextension.ArgumentConflict:
  - ValueError
  jupyter_server.extension.serverextension.BaseExtensionApp:
  - JupyterApp
  jupyter_server.extension.serverextension.DisableServerExtensionApp:
  - ToggleServerExtensionApp
  jupyter_server.extension.serverextension.EnableServerExtensionApp:
  - ToggleServerExtensionApp
  jupyter_server.extension.serverextension.ListServerExtensionsApp:
  - BaseExtensionApp
  jupyter_server.extension.serverextension.ServerExtensionApp:
  - BaseExtensionApp
  jupyter_server.extension.serverextension.ToggleServerExtensionApp:
  - BaseExtensionApp
  jupyter_server.extension.utils.ExtensionLoadingError:
  - Exception
  jupyter_server.extension.utils.ExtensionMetadataError:
  - Exception
  jupyter_server.extension.utils.ExtensionModuleNotFound:
  - Exception
  jupyter_server.extension.utils.NotAnExtensionApp:
  - Exception
  jupyter_server.files.handlers.FilesHandler:
  - JupyterHandler
  jupyter_server.gateway.gateway_client.GatewayClient:
  - SingletonConfigurable
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase:
  - LoggingConfigurable
  - ABC
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerMeta:
  - ABCMeta
  jupyter_server.gateway.gateway_client.NoOpTokenRenewer:
  - GatewayTokenRenewerBase
  jupyter_server.gateway.gateway_client.RetryableHTTPClient: []
  jupyter_server.gateway.handlers.GatewayResourceHandler:
  - APIHandler
  jupyter_server.gateway.handlers.GatewayWebSocketClient:
  - LoggingConfigurable
  jupyter_server.gateway.handlers.WebSocketChannelsHandler:
  - WebSocketHandler
  - JupyterHandler
  jupyter_server.gateway.managers.ChannelQueue:
  - Queue
  jupyter_server.gateway.managers.GatewayKernelClient:
  - AsyncKernelClient
  jupyter_server.gateway.managers.GatewayKernelManager:
  - AsyncKernelManager
  jupyter_server.gateway.managers.GatewayKernelSpecManager:
  - KernelSpecManager
  jupyter_server.gateway.managers.GatewayMappingKernelManager:
  - AsyncMappingKernelManager
  jupyter_server.gateway.managers.GatewaySessionManager:
  - SessionManager
  jupyter_server.gateway.managers.HBChannelQueue:
  - ChannelQueue
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler:
  - JupyterHandler
  jupyter_server.nbconvert.handlers.NbconvertFileHandler:
  - JupyterHandler
  jupyter_server.nbconvert.handlers.NbconvertPostHandler:
  - JupyterHandler
  jupyter_server.serverapp.JupyterPasswordApp:
  - JupyterApp
  jupyter_server.serverapp.JupyterServerListApp:
  - JupyterApp
  jupyter_server.serverapp.JupyterServerStopApp:
  - JupyterApp
  jupyter_server.serverapp.ServerApp:
  - JupyterApp
  jupyter_server.serverapp.ServerWebApplication: []
  jupyter_server.services.api.handlers.APISpecHandler:
  - JupyterHandler
  jupyter_server.services.api.handlers.APIStatusHandler:
  - APIHandler
  jupyter_server.services.api.handlers.IdentityHandler:
  - APIHandler
  jupyter_server.services.config.handlers.ConfigHandler:
  - APIHandler
  jupyter_server.services.config.manager.ConfigManager:
  - LoggingConfigurable
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints:
  - Checkpoints
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin:
  - GenericCheckpointsMixin
  jupyter_server.services.contents.checkpoints.Checkpoints:
  - LoggingConfigurable
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin: []
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints:
  - FileCheckpoints
  - AsyncFileManagerMixin
  - AsyncCheckpoints
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints:
  - AsyncFileCheckpoints
  - AsyncGenericCheckpointsMixin
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints:
  - FileManagerMixin
  - Checkpoints
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints:
  - FileCheckpoints
  - GenericCheckpointsMixin
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin:
  - FileManagerMixin
  jupyter_server.services.contents.fileio.FileManagerMixin:
  - Configurable
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager:
  - FileContentsManager
  - AsyncFileManagerMixin
  - AsyncContentsManager
  jupyter_server.services.contents.filemanager.FileContentsManager:
  - FileManagerMixin
  - ContentsManager
  jupyter_server.services.contents.handlers.CheckpointsHandler:
  - ContentsAPIHandler
  jupyter_server.services.contents.handlers.ContentsAPIHandler:
  - APIHandler
  jupyter_server.services.contents.handlers.ContentsHandler:
  - ContentsAPIHandler
  jupyter_server.services.contents.handlers.ModifyCheckpointsHandler:
  - ContentsAPIHandler
  jupyter_server.services.contents.handlers.NotebooksRedirectHandler:
  - JupyterHandler
  jupyter_server.services.contents.handlers.TrustNotebooksHandler:
  - JupyterHandler
  jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager:
  - AsyncFileContentsManager
  jupyter_server.services.contents.largefilemanager.LargeFileManager:
  - FileContentsManager
  jupyter_server.services.contents.manager.AsyncContentsManager:
  - ContentsManager
  jupyter_server.services.contents.manager.ContentsManager:
  - LoggingConfigurable
  jupyter_server.services.events.handlers.EventHandler:
  - APIHandler
  jupyter_server.services.events.handlers.SubscribeWebsocket:
  - JupyterHandler
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC:
  - ABC
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection:
  - LoggingConfigurable
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection:
  - BaseKernelWebsocketConnection
  jupyter_server.services.kernels.handlers.KernelActionHandler:
  - KernelsAPIHandler
  jupyter_server.services.kernels.handlers.KernelHandler:
  - KernelsAPIHandler
  jupyter_server.services.kernels.handlers.KernelsAPIHandler:
  - APIHandler
  jupyter_server.services.kernels.handlers.MainKernelHandler:
  - KernelsAPIHandler
  jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager:
  - AsyncMultiKernelManager
  - MappingKernelManager
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager:
  - MultiKernelManager
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager:
  - AsyncIOLoopKernelManager
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler:
  - WebSocketHandler
  - WebSocketMixin
  - JupyterHandler
  jupyter_server.services.kernelspecs.handlers.KernelSpecHandler:
  - KernelSpecsAPIHandler
  jupyter_server.services.kernelspecs.handlers.KernelSpecsAPIHandler:
  - APIHandler
  jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler:
  - KernelSpecsAPIHandler
  jupyter_server.services.nbconvert.handlers.NbconvertRootHandler:
  - APIHandler
  jupyter_server.services.security.handlers.CSPReportHandler:
  - APIHandler
  jupyter_server.services.sessions.handlers.SessionHandler:
  - SessionsAPIHandler
  jupyter_server.services.sessions.handlers.SessionRootHandler:
  - SessionsAPIHandler
  jupyter_server.services.sessions.handlers.SessionsAPIHandler:
  - APIHandler
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecord: []
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordConflict:
  - Exception
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList: []
  jupyter_server.services.sessions.sessionmanager.SessionManager:
  - LoggingConfigurable
  jupyter_server.services.shutdown.ShutdownHandler:
  - JupyterHandler
  jupyter_server.traittypes.InstanceFromClasses:
  - ClassBasedTraitType
  jupyter_server.traittypes.TypeFromClasses:
  - ClassBasedTraitType
  jupyter_server.utils._request_for_tornado_client.UnixSocketResolver:
  - Resolver
  jupyter_server.view.handlers.ViewHandler:
  - JupyterHandler
ep:
  func_name: TestOneInput
  module: '...fuzz_serialization'
