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.call_context.CallContext
- jupyter_server._tz.tzUTC
- jupyter_server.auth.identity.User
- jupyter_server.auth.identity.IdentityProvider
- jupyter_server.auth.identity.PasswordIdentityProvider
- jupyter_server.auth.identity.LegacyIdentityProvider
- jupyter_server.auth.login.LoginFormHandler
- jupyter_server.auth.login.LegacyLoginHandler
- jupyter_server.auth.authorizer.Authorizer
- jupyter_server.auth.authorizer.AllowAllAuthorizer
- 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_server.services.kernels.connection.abc.KernelWebsocketConnectionABC
- jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection
- jupyter_server.utils._request_for_tornado_client.UnixSocketResolver
- jupyter_server.utils.JupyterServerAuthWarning
- 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.connections.GatewayWebSocketConnection
- 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.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.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.base.handlers.PublicStaticFileHandler
- jupyter_server.base.websocket.WebSocketMixin
- jupyter_client.consoleapp.JupyterConsoleApp
- jupyter_client.consoleapp.IPythonConsoleApp
- jupyter_client.runapp.RunApp
- jupyter_client.kernelapp.KernelApp
- jupyter_client.threaded.ThreadedZMQSocketChannel
- jupyter_client.threaded.IOLoopThread
- jupyter_client.threaded.ThreadedKernelClient
- 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_server.services.kernelspecs.handlers.KernelSpecsAPIHandler
- jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler
- jupyter_server.services.kernelspecs.handlers.KernelSpecHandler
- jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler
- jupyter_server.services.shutdown.ShutdownHandler
- jupyter_server.services.security.handlers.CSPReportHandler
- 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.events.handlers.SubscribeWebsocket
- jupyter_server.services.events.handlers.EventHandler
- 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.api.handlers.APISpecHandler
- jupyter_server.services.api.handlers.APIStatusHandler
- jupyter_server.services.api.handlers.IdentityHandler
- jupyter_server.services.config.handlers.ConfigHandler
- jupyter_server.services.nbconvert.handlers.NbconvertRootHandler
- jupyter_server.services.sessions.handlers.SessionsAPIHandler
- jupyter_server.services.sessions.handlers.SessionRootHandler
- jupyter_server.services.sessions.handlers.SessionHandler
- 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.nbconvert.handlers.NbconvertFileHandler
- jupyter_server.nbconvert.handlers.NbconvertPostHandler
- jupyter_server.view.handlers.ViewHandler
- jupyter_server.gateway.handlers.WebSocketChannelsHandler
- jupyter_server.gateway.handlers.GatewayWebSocketClient
- jupyter_server.gateway.handlers.GatewayResourceHandler
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:
    - '...fuzz_serialization.main'
    - atheris.instrument_imports
    - atheris.instrument_all
    - atheris.Fuzz
    - atheris.Setup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_imports
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 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:
    - fdp.ConsumeString
    - buffers.insert
    - obj.isoformat
    - <builtin>.type
    - warnings.warn
    - obj.items
    - <builtin>.repr
    - msg.pop
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - <builtin>.str
    - jupyter_client.session.Session._new_auth
    - traitlets.Any
    - <builtin>.list
    - pickle.loads
    - traitlets.Dict.copy
    - json.dumps
    - jupyter_client.session.Session._check_packers.<lambda2>
    - <builtin>.memoryview
    - dateutil.tz.tzlocal
    - jupyter_client.session.json_unpacker
    - math.isnan
    - jupyter_server.services.kernels.connection.base.deserialize_binary_message
    - struct.unpack
    - <builtin>.int
    - <builtin>.zip
    - <builtin>.float
    - <builtin>.set
    - binascii.b2a_base64
    - <builtin>.len
    - traitlets.log.get_logger
    - jupyter_client.jsonutil._ensure_tzinfo
    - jupyter_client.session.Session._check_packers
    - jupyter_client.jsonutil.json_clean
    - traitlets.utils.importstring.import_item
    - msg.copy
    - <builtin>.map
    - struct.pack
    - os.getpid
    - jupyter_client.session.Session.msg
    - <builtin>.dict
    - jupyter_client.jsonutil.squash_dates
    - ISO8601_PAT.match
    - dateutil.parser.isoparse.replace
    - jupyter_client.session.Session.msg_header
    - jupyter_client.session.json_packer
    - fdp.ConsumeBytes
    - hmac.HMAC
    - jupyter_client.session.pickle_packer
    - binascii.b2a_base64.decode
    - obj.strftime
    - jupyter_client.session.extract_header
    - jupyter_client.session.utcnow
    - dateutil.parser.isoparse
    - traitlets.log.get_logger.warning
    - dateutil.parser.isoparse.items
    - datetime.datetime.now
    - <builtin>.hasattr
    - jupyter_client.jsonutil.extract_dates
    - jupyter_client.session.Session.__init__
    - s.decode
    - bufs.append
    - pickle.dumps
    - <builtin>.isinstance
    - <builtin>.super
    - atheris.FuzzedDataProvider
    - offsets.append
    - jupyter_client.session.Session._check_packers.<lambda1>
    - json.loads
    - jupyter_client.jsonutil.parse_date
    - math.isinf
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 179
    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: 528
    functionName: jupyter_client.session.Session.__init__
    functionSourceFile: jupyter_client.session
    functionUses: 9
    functionsReached:
    - obj.isoformat
    - <builtin>.type
    - warnings.warn
    - obj.items
    - <builtin>.repr
    - <builtin>.str
    - jupyter_client.session.Session._new_auth
    - traitlets.Any
    - <builtin>.list
    - pickle.loads
    - json.dumps
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.session.json_unpacker
    - math.isnan
    - <builtin>.int
    - <builtin>.float
    - binascii.b2a_base64
    - <builtin>.len
    - traitlets.log.get_logger
    - jupyter_client.session.Session._check_packers
    - jupyter_client.jsonutil.json_clean
    - traitlets.utils.importstring.import_item
    - <builtin>.map
    - os.getpid
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - jupyter_client.session.json_packer
    - hmac.HMAC
    - obj.strftime
    - jupyter_client.session.pickle_packer
    - binascii.b2a_base64.decode
    - jupyter_client.session.utcnow
    - traitlets.log.get_logger.warning
    - datetime.datetime.now
    - <builtin>.hasattr
    - pickle.dumps
    - s.decode
    - <builtin>.isinstance
    - <builtin>.super
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.set
    - json.loads
    - math.isinf
    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 0x7f34fe763130>
    - <ast.Constant object at 0x7f34fe763c70>
    - <ast.Constant object at 0x7f34fe763f40>
    - <ast.Constant object at 0x7f34fe763610>
    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: 649
    functionName: jupyter_client.session.Session.msg
    functionSourceFile: jupyter_client.session
    functionUses: 2
    functionsReached:
    - <builtin>.dict
    - jupyter_client.session.Session.msg_header
    - <builtin>.isinstance
    - traitlets.Dict.copy
    - jupyter_client.session.extract_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: 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: 24
    functionName: jupyter_server.services.kernels.connection.base.serialize_binary_message
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 5
    functionsReached:
    - buffers.insert
    - struct.pack
    - msg.pop
    - <builtin>.len
    - offsets.append
    - <builtin>.list
    - json.dumps
    - msg.copy
    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: 53
    functionName: jupyter_server.services.kernels.connection.base.deserialize_binary_message
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 2
    functionsReached:
    - dateutil.parser.isoparse
    - struct.unpack
    - dateutil.parser.isoparse.items
    - ISO8601_PAT.match
    - <builtin>.zip
    - jupyter_client.jsonutil.extract_dates
    - warnings.warn
    - dateutil.parser.isoparse.replace
    - bufs.append
    - <builtin>.isinstance
    - offsets.append
    - <builtin>.list
    - jupyter_client.jsonutil._ensure_tzinfo
    - json.loads
    - dateutil.tz.tzlocal
    - 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.Fuzz
    - atheris.instrument_all
    - atheris.Setup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_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:
    - os.urandom
    - binascii.b2a_hex.decode
    - zmq.MessageTracker
    - jupyter_client.session.new_id
    - jupyter_client.session.new_id_bytes
    - binascii.b2a_hex
    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
    - obj.pop
    - <builtin>.isinstance
    - obj.encode
    - <builtin>.list
    - <builtin>.enumerate
    - jupyter_client.session.squash_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: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 190
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 65
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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.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>.type
    - warnings.warn
    - obj.items
    - <builtin>.repr
    - <builtin>.str
    - <builtin>.list
    - json.dumps
    - math.isnan
    - <builtin>.int
    - <builtin>.float
    - binascii.b2a_base64
    - <builtin>.len
    - jupyter_client.jsonutil.json_clean
    - <builtin>.map
    - obj.strftime
    - binascii.b2a_base64.decode
    - <builtin>.hasattr
    - <builtin>.isinstance
    - <builtin>.set
    - math.isinf
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 108
    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:
    - obj.strftime
    - <builtin>.map
    - math.isnan
    - <builtin>.type
    - obj.items
    - <builtin>.repr
    - <builtin>.int
    - <builtin>.hasattr
    - <builtin>.float
    - <builtin>.set
    - binascii.b2a_base64
    - <builtin>.str
    - <builtin>.len
    - <builtin>.isinstance
    - <builtin>.list
    - binascii.b2a_base64.decode
    - jupyter_client.jsonutil.json_clean
    - math.isinf
    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: 89
    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:
    - json.loads
    - <builtin>.isinstance
    - s.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: 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: 59
    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
    - <builtin>.dict
    - obj.items
    - <builtin>.isinstance
    - pickle.dumps
    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
    - <builtin>.dict
    - obj.items
    - <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:
    - os.urandom
    - binascii.b2a_hex
    - binascii.b2a_hex.decode
    - 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:
    - os.urandom
    - binascii.b2a_hex.decode
    - warnings.warn
    - jupyter_client.session.new_id
    - jupyter_client.session.new_id_bytes
    - binascii.b2a_hex
    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: 22
    functionsReached:
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 81
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 1
    functionLinenumber: -1
    functionName: jupyter_client.session.SessionFactory
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.observe
    - traitlets.Instance
    - traitlets.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.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: 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: traitlets.Instance
    functionSourceFile: traitlets
    functionUses: 33
    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: 13
    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: 36
    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:
    - obj.isoformat
    - <builtin>.type
    - warnings.warn
    - obj.items
    - <builtin>.repr
    - <builtin>.str
    - jupyter_client.session.Session._new_auth
    - traitlets.Any
    - <builtin>.list
    - pickle.loads
    - json.dumps
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.session.json_unpacker
    - math.isnan
    - <builtin>.int
    - <builtin>.float
    - binascii.b2a_base64
    - <builtin>.len
    - traitlets.log.get_logger
    - jupyter_client.session.Session._check_packers
    - jupyter_client.jsonutil.json_clean
    - traitlets.utils.importstring.import_item
    - <builtin>.map
    - os.getpid
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - jupyter_client.session.json_packer
    - hmac.HMAC
    - jupyter_client.session.pickle_packer
    - obj.strftime
    - binascii.b2a_base64.decode
    - jupyter_client.session.utcnow
    - traitlets.log.get_logger.warning
    - datetime.datetime.now
    - <builtin>.hasattr
    - pickle.dumps
    - jupyter_client.session.Session.__init__
    - s.decode
    - <builtin>.isinstance
    - <builtin>.super
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.set
    - json.loads
    - math.isinf
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 174
    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:
    - <builtin>.isinstance
    - jupyter_client.session.Message.__init__
    - <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: 32
    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: 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: 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: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 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:
    - jupyter_client.session.utcnow
    - <builtin>.locals
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 281
    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: 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: 1
    functionLinenumber: -1
    functionName: jupyter_client.session.Session
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - traitlets.Bool
    - traitlets.Unicode
    - traitlets.Dict
    - traitlets.CBytes
    - traitlets.observe
    - traitlets.Integer
    - traitlets.Set
    - traitlets.Any
    - os.environ.get
    - traitlets.DottedObjectName
    - traitlets.CUnicode
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 362
    functionName: jupyter_client.session.Session._packer_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - new.lower
    - 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: 151
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 35
    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: 383
    functionName: jupyter_client.session.Session._unpacker_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - new.lower
    - 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: 398
    functionName: jupyter_client.session.Session._session_default
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - os.urandom
    - binascii.b2a_hex.decode
    - jupyter_client.session.new_id
    - u.encode
    - 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: 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: 404
    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: 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: 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: 430
    functionName: jupyter_client.session.Session._key_default
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - os.urandom
    - binascii.b2a_hex.decode
    - jupyter_client.session.new_id
    - jupyter_client.session.new_id_bytes
    - binascii.b2a_hex
    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: 434
    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: 463
    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: 445
    functionName: jupyter_client.session.Session._signature_scheme_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - new.startswith
    - new.split
    - 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: 152
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 41
    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: 458
    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: 482
    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: 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: f.read
    functionSourceFile: <builtin>
    functionUses: 16
    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: 494
    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: 31
    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: 502
    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: 606
    functionName: jupyter_client.session.Session._check_packers
    functionSourceFile: jupyter_client.session
    functionUses: 10
    functionsReached:
    - obj.isoformat
    - <builtin>.type
    - warnings.warn
    - obj.items
    - <builtin>.repr
    - <builtin>.str
    - traitlets.Any
    - <builtin>.list
    - pickle.loads
    - jupyter_client.session.Session._check_packers.<lambda2>
    - json.dumps
    - jupyter_client.session.json_unpacker
    - math.isnan
    - <builtin>.int
    - <builtin>.float
    - binascii.b2a_base64
    - <builtin>.len
    - jupyter_client.jsonutil.json_clean
    - traitlets.utils.importstring.import_item
    - <builtin>.map
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - jupyter_client.session.json_packer
    - obj.strftime
    - jupyter_client.session.pickle_packer
    - binascii.b2a_base64.decode
    - jupyter_client.session.utcnow
    - datetime.datetime.now
    - <builtin>.hasattr
    - pickle.dumps
    - s.decode
    - <builtin>.isinstance
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.set
    - json.loads
    - math.isinf
    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:
    - obj.isoformat
    - <builtin>.type
    - obj.items
    - warnings.warn
    - <builtin>.repr
    - <builtin>.str
    - traitlets.Any
    - <builtin>.list
    - json.dumps
    - math.isnan
    - <builtin>.int
    - <builtin>.float
    - binascii.b2a_base64
    - <builtin>.len
    - jupyter_client.jsonutil.json_clean
    - traitlets.utils.importstring.import_item
    - <builtin>.map
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - jupyter_client.session.json_packer
    - obj.strftime
    - binascii.b2a_base64.decode
    - jupyter_client.session.pickle_packer
    - <builtin>.hasattr
    - <builtin>.isinstance
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.set
    - pickle.dumps
    - math.isinf
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 580
    functionName: jupyter_client.session.Session.clone
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.getattr
    - <builtin>.setattr
    - traitlets.config.configurable.Configurable.traits
    - new_session.digest_history.update
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <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: 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: <builtin>.set
    functionSourceFile: <builtin>
    functionUses: 57
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 601
    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: 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: 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:
    - jupyter_client.session.json_unpacker
    - s.decode
    - <builtin>.isinstance
    - traitlets.Any
    - json.loads
    - pickle.loads
    - jupyter_client.session.Session._check_packers.<lambda2>
    - traitlets.utils.importstring.import_item
    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: 645
    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: 6
    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: 675
    functionName: jupyter_client.session.Session.sign
    functionSourceFile: jupyter_client.session
    functionUses: 7
    functionsReached:
    - h.update
    - traitlets.Instance.copy
    - h.hexdigest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 43
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 42
    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 0x7f34ffac5a60>
    argNames:
    - self
    - msg
    - ident
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 690
    functionName: jupyter_client.session.Session.serialize
    functionSourceFile: jupyter_client.session
    functionUses: 1
    functionsReached:
    - obj.isoformat
    - msg.get
    - <builtin>.type
    - warnings.warn
    - obj.items
    - <builtin>.repr
    - h.update
    - <builtin>.str
    - content.encode
    - traitlets.Any
    - <builtin>.list
    - to_send.append
    - json.dumps
    - h.hexdigest
    - math.isnan
    - <builtin>.int
    - <builtin>.float
    - binascii.b2a_base64
    - <builtin>.len
    - jupyter_client.jsonutil.json_clean
    - jupyter_client.session.Session.sign
    - traitlets.utils.importstring.import_item
    - <builtin>.map
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - jupyter_client.session.json_packer
    - traitlets.Instance.copy
    - obj.strftime
    - binascii.b2a_base64.decode
    - jupyter_client.session.pickle_packer
    - to_send.extend
    - <builtin>.hasattr
    - <builtin>.isinstance
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.set
    - pickle.dumps
    - math.isinf
    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: 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: content.encode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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 0x7f34fe85f760>
    - <ast.Constant object at 0x7f34fe85f730>
    - <ast.Constant object at 0x7f34fe85f910>
    - <ast.Constant object at 0x7f34fe85f4c0>
    - <ast.Constant object at 0x7f34fe85fa60>
    - <ast.Constant object at 0x7f34fe85f8e0>
    - <ast.Constant object at 0x7f34fe85f0a0>
    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: 754
    functionName: jupyter_client.session.Session.send
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - obj.isoformat
    - msg.get
    - <builtin>.type
    - warnings.warn
    - obj.items
    - <builtin>.repr
    - h.update
    - jupyter_client.adapter.adapt
    - <builtin>.str
    - content.encode
    - traitlets.Any
    - <builtin>.list
    - <builtin>.enumerate
    - zmq.Socket.shadow
    - traitlets.Dict.copy
    - to_send.append
    - json.dumps
    - <builtin>.memoryview
    - <builtin>.max
    - h.hexdigest
    - math.isnan
    - pprint.pprint
    - <builtin>.int
    - <builtin>.float
    - binascii.b2a_base64
    - <builtin>.len
    - traitlets.log.get_logger
    - jupyter_client.jsonutil.json_clean
    - jupyter_client.session.Session.sign
    - traitlets.utils.importstring.import_item
    - <builtin>.map
    - os.getpid
    - jupyter_client.session.Session.msg
    - jupyter_client.session.Session.serialize
    - adapters.get
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - jupyter_client.session.Session.msg_header
    - jupyter_client.session.json_packer
    - traitlets.Instance.copy
    - jupyter_client.session.pickle_packer
    - obj.strftime
    - binascii.b2a_base64.decode
    - jupyter_client.session.extract_header
    - to_send.extend
    - stream.send_multipart
    - jupyter_client.session.utcnow
    - traitlets.log.get_logger.warning
    - datetime.datetime.now
    - <builtin>.hasattr
    - <builtin>.isinstance
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.set
    - pickle.dumps
    - math.isinf
    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: 60
    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 0x7f34fed8c730>
    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:
    - adapters.get
    - <builtin>.int
    - jupyter_client.session.utcnow
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 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 0x7f34fe86c3a0>
    - <ast.Constant object at 0x7f34fe86c100>
    - <ast.Constant object at 0x7f34fe86c580>
    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: 876
    functionName: jupyter_client.session.Session.send_raw
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - stream.send_multipart
    - h.hexdigest
    - h.update
    - traitlets.Instance.copy
    - <builtin>.isinstance
    - zmq.Socket.shadow
    - to_send.append
    - jupyter_client.session.Session.sign
    - to_send.extend
    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 0x7f34fe6ec820>
    - <ast.Constant object at 0x7f34fe6ecd30>
    - <ast.Constant object at 0x7f34fe6ec2e0>
    argNames:
    - self
    - socket
    - mode
    - content
    - copy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 913
    functionName: jupyter_client.session.Session.recv
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - h.update
    - warnings.warn
    - msg_list.index
    - jupyter_client.adapter.adapt
    - traitlets.Any
    - <builtin>.enumerate
    - zmq.Socket.shadow
    - pickle.loads
    - jupyter_client.session.Session._check_packers.<lambda2>
    - <builtin>.memoryview
    - dateutil.tz.tzlocal
    - <builtin>.max
    - jupyter_client.session.json_unpacker
    - h.hexdigest
    - jupyter_client.session.Session._cull_digest_history
    - pprint.pprint
    - json.loads
    - traitlets.Set.add
    - <builtin>.int
    - <builtin>.len
    - jupyter_client.jsonutil._ensure_tzinfo
    - jupyter_client.session.Session.sign
    - <builtin>.bytes
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session.deserialize
    - jupyter_client.session.Session.feed_identities
    - typing.cast
    - traitlets.Set.difference_update
    - adapters.get
    - ISO8601_PAT.match
    - dateutil.parser.isoparse.replace
    - traitlets.Instance.copy
    - hmac.compare_digest
    - <builtin>.sorted
    - jupyter_client.session.utcnow
    - socket.recv_multipart
    - dateutil.parser.isoparse
    - <builtin>.tuple
    - datetime.datetime.now
    - dateutil.parser.isoparse.items
    - jupyter_client.jsonutil.extract_dates
    - s.decode
    - random.sample
    - <builtin>.isinstance
    - <builtin>.set
    - jupyter_client.session.Session._add_digest
    - jupyter_client.jsonutil.parse_date
    linkageType: pythonLinkage
    raised: []
    returnType: N/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 0x7f34fe6b90a0>
    argNames:
    - self
    - msg_list
    - copy
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 956
    functionName: jupyter_client.session.Session.feed_identities
    functionSourceFile: jupyter_client.session
    functionUses: 2
    functionsReached:
    - msg_list.index
    - <builtin>.bytes
    - <builtin>.enumerate
    - typing.cast
    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 0x7f34fe855ac0>
    - <ast.Constant object at 0x7f34fe855cd0>
    argNames:
    - self
    - msg_list
    - content
    - copy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1022
    functionName: jupyter_client.session.Session.deserialize
    functionSourceFile: jupyter_client.session
    functionUses: 3
    functionsReached:
    - h.update
    - warnings.warn
    - jupyter_client.adapter.adapt
    - traitlets.Any
    - pickle.loads
    - jupyter_client.session.Session._check_packers.<lambda2>
    - <builtin>.memoryview
    - dateutil.tz.tzlocal
    - <builtin>.max
    - jupyter_client.session.json_unpacker
    - h.hexdigest
    - jupyter_client.session.Session._cull_digest_history
    - pprint.pprint
    - json.loads
    - traitlets.Set.add
    - <builtin>.int
    - <builtin>.len
    - jupyter_client.jsonutil._ensure_tzinfo
    - jupyter_client.session.Session.sign
    - <builtin>.bytes
    - traitlets.utils.importstring.import_item
    - typing.cast
    - traitlets.Set.difference_update
    - adapters.get
    - ISO8601_PAT.match
    - dateutil.parser.isoparse.replace
    - traitlets.Instance.copy
    - hmac.compare_digest
    - <builtin>.sorted
    - jupyter_client.session.utcnow
    - dateutil.parser.isoparse
    - <builtin>.tuple
    - datetime.datetime.now
    - dateutil.parser.isoparse.items
    - jupyter_client.jsonutil.extract_dates
    - s.decode
    - random.sample
    - <builtin>.isinstance
    - <builtin>.set
    - jupyter_client.session.Session._add_digest
    - jupyter_client.jsonutil.parse_date
    linkageType: pythonLinkage
    raised:
    - ValueError
    - 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: typing.cast
    functionSourceFile: typing
    functionUses: 135
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 998
    functionName: jupyter_client.session.Session._add_digest
    functionSourceFile: jupyter_client.session
    functionUses: 4
    functionsReached:
    - <builtin>.max
    - <builtin>.tuple
    - jupyter_client.session.Session._cull_digest_history
    - traitlets.Set.difference_update
    - traitlets.Set.add
    - <builtin>.int
    - random.sample
    - <builtin>.len
    - <builtin>.set
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 1009
    functionName: jupyter_client.session.Session._cull_digest_history
    functionSourceFile: jupyter_client.session
    functionUses: 5
    functionsReached:
    - <builtin>.max
    - <builtin>.tuple
    - traitlets.Set.difference_update
    - <builtin>.int
    - random.sample
    - <builtin>.len
    - <builtin>.set
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.int
    functionSourceFile: <builtin>
    functionUses: 74
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.isoparse
    - ISO8601_PAT.match
    - dateutil.parser.isoparse.items
    - warnings.warn
    - jupyter_client.jsonutil.extract_dates
    - dateutil.parser.isoparse.replace
    - <builtin>.isinstance
    - jupyter_client.jsonutil._ensure_tzinfo
    - dateutil.tz.tzlocal
    - 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: 1099
    functionName: jupyter_client.session.Session.unserialize
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - h.update
    - warnings.warn
    - jupyter_client.adapter.adapt
    - traitlets.Any
    - pickle.loads
    - jupyter_client.session.Session._check_packers.<lambda2>
    - <builtin>.memoryview
    - dateutil.tz.tzlocal
    - <builtin>.max
    - jupyter_client.session.json_unpacker
    - h.hexdigest
    - jupyter_client.session.Session._cull_digest_history
    - pprint.pprint
    - json.loads
    - traitlets.Set.add
    - <builtin>.int
    - <builtin>.len
    - jupyter_client.jsonutil._ensure_tzinfo
    - jupyter_client.session.Session.sign
    - <builtin>.bytes
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session.deserialize
    - typing.cast
    - traitlets.Set.difference_update
    - adapters.get
    - ISO8601_PAT.match
    - dateutil.parser.isoparse.replace
    - traitlets.Instance.copy
    - hmac.compare_digest
    - <builtin>.sorted
    - jupyter_client.session.utcnow
    - dateutil.parser.isoparse
    - <builtin>.tuple
    - datetime.datetime.now
    - dateutil.parser.isoparse.items
    - jupyter_client.jsonutil.extract_dates
    - s.decode
    - random.sample
    - <builtin>.isinstance
    - <builtin>.set
    - jupyter_client.session.Session._add_digest
    - jupyter_client.jsonutil.parse_date
    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:
    - parts.append
    - <builtin>.int
    - <builtin>.tuple
    - re.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: 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: 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:
    - code.splitlines
    - <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: code.splitlines
    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: re.compile
    functionSourceFile: re
    functionUses: 14
    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
    - _end_bracket.sub
    - code.splitlines
    - <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: _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_metadata
    - <builtin>.getattr
    - jupyter_client.adapter.Adapter.update_msg_type
    - jupyter_client.adapter.V5toV4.update_header
    - jupyter_client.adapter.Adapter.update_header
    - jupyter_client.adapter.V4toV5.update_header
    - jupyter_client.adapter.Adapter.handle_reply_status_error
    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:
    - version.split
    - <builtin>.int
    - 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:
    - v4c.setdefault
    - version.split
    - <builtin>.int
    - v.append
    - jupyter_client.adapter._version_str_to_list
    - content.get
    - 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:
    - code.splitlines
    - <builtin>.len
    - jupyter_client.adapter.code_to_line
    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
    - _end_bracket.sub
    - code.splitlines
    - <builtin>.len
    - jupyter_client.adapter.extract_oname_v4
    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:
    - content.pop
    - content.setdefault
    - <builtin>.map
    - language_info.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: <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: 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.setdefault
    - payload.pop
    - content.pop
    - payload.get
    - content.get
    - 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: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - lines.append
    - content.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: 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:
    - json.loads
    - content.pop
    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.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: datetime.datetime.strptime
    functionSourceFile: datetime
    functionUses: 7
    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.parser.isoparse.replace
    - 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: 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.isoparse.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.isoparse
    - ISO8601_PAT.match
    - warnings.warn
    - dateutil.parser.isoparse.replace
    - jupyter_client.jsonutil._ensure_tzinfo
    - 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.isoparse
    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.isoparse.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:
    - jupyter_client.jsonutil.json_default
    - dateutil.parser.isoparse.isoformat
    - warnings.warn
    - dateutil.parser.isoparse.replace
    - <builtin>.int
    - <builtin>.float
    - binascii.b2a_base64
    - <builtin>.isinstance
    - jupyter_client.jsonutil._ensure_tzinfo
    - <builtin>.list
    - binascii.b2a_base64.decode
    - dateutil.tz.tzlocal
    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:
    - dateutil.parser.isoparse.isoformat
    - warnings.warn
    - dateutil.parser.isoparse.replace
    - <builtin>.int
    - <builtin>.float
    - binascii.b2a_base64
    - <builtin>.isinstance
    - jupyter_client.jsonutil._ensure_tzinfo
    - <builtin>.list
    - binascii.b2a_base64.decode
    - dateutil.tz.tzlocal
    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.isoparse.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: 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_server
    functionSourceFile: jupyter_server
    functionUses: 0
    functionsReached:
    - pathlib.Path
    - os.path.dirname
    - 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.dirname
    functionSourceFile: os
    functionUses: 66
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 178
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 15
    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:
    - parts.append
    - <builtin>.int
    - <builtin>.tuple
    - re.match
    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.call_context
    functionSourceFile: jupyter_server.base.call_context
    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: contextvars.ContextVar
    functionSourceFile: contextvars
    functionUses: 1
    functionsReached: []
    linkageType: 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.call_context.CallContext
    functionSourceFile: jupyter_server.base.call_context
    functionUses: 0
    functionsReached:
    - contextvars.ContextVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 28
    functionName: jupyter_server.base.call_context.CallContext.get
    functionSourceFile: jupyter_server.base.call_context
    functionUses: 0
    functionsReached:
    - CallContext._name_value_map.get
    - jupyter_server.base.call_context.CallContext._get_map
    - CallContext._name_value_map.set
    - contextvars.copy_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: jupyter_server.base.call_context.CallContext._get_map
    functionSourceFile: jupyter_server.base.call_context
    functionUses: 4
    functionsReached:
    - CallContext._name_value_map.get
    - CallContext._name_value_map.set
    - contextvars.copy_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 49
    functionName: jupyter_server.base.call_context.CallContext.set
    functionSourceFile: jupyter_server.base.call_context
    functionUses: 1
    functionsReached:
    - CallContext._name_value_map.get
    - jupyter_server.base.call_context.CallContext._get_map
    - CallContext._name_value_map.set
    - contextvars.copy_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: CallContext._name_value_map.set
    functionSourceFile: <builtin>
    functionUses: 5
    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: 2
    functionLinenumber: 68
    functionName: jupyter_server.base.call_context.CallContext.context_variable_names
    functionSourceFile: jupyter_server.base.call_context
    functionUses: 0
    functionsReached:
    - CallContext._name_value_map.get
    - contextvars.copy_context
    - name_value_map.keys
    - jupyter_server.base.call_context.CallContext._get_map
    - CallContext._name_value_map.set
    - <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: name_value_map.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: contextvars.copy_context
    functionSourceFile: contextvars
    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: CallContext._name_value_map.get
    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_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: 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: <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: 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 0x7f34ffbb7910>
    argNames:
    - msg_or_list
    - channel
    - pack
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 8
    functionsReached:
    - traitlets.Instance.pack
    - <builtin>.len
    - offsets.append
    - offset.to_bytes
    - 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: 103
    functionName: jupyter_server.services.kernels.connection.base.deserialize_msg_from_ws_v1
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 1
    functionsReached:
    - int.from_bytes
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: int.from_bytes
    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>.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: 1
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    - traitlets.default
    - traitlets.Float
    - 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: 0
    functionLinenumber: 131
    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: 136
    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: 141
    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: 146
    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: 0
    functionLinenumber: -1
    functionName: traitlets.Float
    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: traitlets.default
    functionSourceFile: traitlets
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 153
    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: 159
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection._default_session
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 0
    functionsReached:
    - obj.isoformat
    - <builtin>.type
    - warnings.warn
    - obj.items
    - <builtin>.repr
    - <builtin>.str
    - jupyter_client.session.Session._new_auth
    - traitlets.Any
    - <builtin>.list
    - pickle.loads
    - json.dumps
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.session.json_unpacker
    - math.isnan
    - <builtin>.int
    - <builtin>.float
    - binascii.b2a_base64
    - <builtin>.len
    - traitlets.log.get_logger
    - jupyter_client.session.Session._check_packers
    - jupyter_client.jsonutil.json_clean
    - traitlets.utils.importstring.import_item
    - <builtin>.map
    - os.getpid
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - jupyter_client.session.json_packer
    - hmac.HMAC
    - jupyter_client.session.pickle_packer
    - obj.strftime
    - binascii.b2a_base64.decode
    - jupyter_client.session.utcnow
    - traitlets.log.get_logger.warning
    - datetime.datetime.now
    - <builtin>.hasattr
    - pickle.dumps
    - jupyter_client.session.Session.__init__
    - s.decode
    - <builtin>.isinstance
    - <builtin>.super
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.set
    - json.loads
    - math.isinf
    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.services.kernels.connection.base.BaseKernelWebsocketConnection.connect
    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: 168
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.disconnect
    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: 2
    argDefaultValues: []
    argNames:
    - self
    - incoming_msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 172
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.handle_incoming_message
    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: 3
    argDefaultValues: []
    argNames:
    - self
    - stream
    - outgoing_msg
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 176
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.handle_outgoing_message
    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: 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: 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: 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: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 20
    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: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - incoming_msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    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: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stream
    - outgoing_msg
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    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: 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: 10
    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: 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: 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: gettext.translation
    functionSourceFile: gettext
    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: 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: 27
    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: 35
    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: 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: 5
    functionsReached: []
    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 0x7f34feee57c0>
    argNames:
    - self
    - origin
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 45
    functionName: jupyter_server.base.websocket.WebSocketMixin.check_origin
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - origin.lower
    - <builtin>.bool
    - <builtin>.hasattr
    - re.match
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: urllib.parse.urlparse
    functionSourceFile: urllib
    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: <builtin>.bool
    functionSourceFile: <builtin>
    functionUses: 44
    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: 87
    functionName: jupyter_server.base.websocket.WebSocketMixin.clear_cookie
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached: []
    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: 1
    functionLinenumber: 91
    functionName: jupyter_server.base.websocket.WebSocketMixin._maybe_auth
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 109
    functionName: jupyter_server.base.websocket.WebSocketMixin.prepare
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - warnings.warn
    - <builtin>.getattr
    - <builtin>.isinstance
    - <builtin>.super
    - jupyter_server.base.websocket.WebSocketMixin._maybe_auth
    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: 125
    functionName: jupyter_server.base.websocket.WebSocketMixin.open
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - loop.time
    - <builtin>.super
    - tornado.ioloop.IOLoop.current
    - tornado.ioloop.PeriodicCallback
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 142
    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: 165
    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: 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:
    - contextlib.contextmanager
    - typing.NewType
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - pieces
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 46
    functionName: jupyter_server.utils.url_path_join
    functionSourceFile: jupyter_server.utils
    functionUses: 53
    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: s.strip
    functionSourceFile: <builtin>
    functionUses: 54
    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: 65
    functionName: jupyter_server.utils.url_is_absolute
    functionSourceFile: jupyter_server.utils
    functionUses: 1
    functionsReached:
    - urllib.parse.urlparse.path.startswith
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 70
    functionName: jupyter_server.utils.path2url
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - path.split
    - jupyter_server.utils.url_path_join
    - s.strip
    - urllib.parse.quote
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: jupyter_server.utils.url2path
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - urllib.parse.unquote
    - os.path.join
    - 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: 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: 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: 87
    functionName: jupyter_server.utils.url_escape
    functionSourceFile: jupyter_server.utils
    functionUses: 28
    functionsReached:
    - path.split
    - urllib.parse.quote
    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: 96
    functionName: jupyter_server.utils.url_unescape
    functionSourceFile: jupyter_server.utils
    functionUses: 2
    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: 104
    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: os.stat
    functionSourceFile: os
    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: path.lower
    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: 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 0x7f34fe855910>
    argNames:
    - path
    - root
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: jupyter_server.utils.to_os_path
    functionSourceFile: jupyter_server.utils
    functionUses: 77
    functionsReached:
    - <builtin>.str
    - os.path.normpath
    - 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.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 0x7f34fe6bed60>
    argNames:
    - os_path
    - root
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 143
    functionName: jupyter_server.utils.to_api_path
    functionSourceFile: jupyter_server.utils
    functionUses: 69
    functionsReached:
    - <builtin>.len
    - os_path.startswith
    - os_path.strip
    - typing.NewType
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 157
    functionName: jupyter_server.utils.check_version
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - packaging.version.Version
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 1
    argDefaultValues: []
    argNames:
    - pid
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 173
    functionName: jupyter_server.utils._check_pid_win32
    functionSourceFile: jupyter_server.utils
    functionUses: 4
    functionsReached:
    - ctypes.windll.kernel32.OpenProcess
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ctypes.windll.kernel32.OpenProcess
    functionSourceFile: ctypes
    functionUses: 5
    functionsReached: []
    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: 181
    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: 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: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - maybe_async
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 202
    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: jupyter_core.utils.ensure_async
    functionSourceFile: jupyter_core
    functionUses: 83
    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: 212
    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: traitlets.Unicode.replace
    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:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 217
    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: 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: 222
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 227
    functionName: jupyter_server.utils.unix_socket_in_use
    functionSourceFile: jupyter_server.utils
    functionUses: 2
    functionsReached:
    - sock.close
    - socket.socket
    - sock.connect
    - os.path.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 68
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.connect
    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: 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: contextlib.contextmanager
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    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 0x7f34fed8ce20>
    - <ast.Constant object at 0x7f34fed8c730>
    - <ast.Constant object at 0x7f34fed8cfa0>
    argNames:
    - urlstring
    - method
    - body
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 244
    functionName: jupyter_server.utils._request_for_tornado_client
    functionSourceFile: jupyter_server.utils
    functionUses: 3
    functionsReached:
    - tornado.httpclient.AsyncHTTPClient.configure
    - urllib.parse.urlsplit
    - tornado.netutil.Resolver
    - tornado.httpclient.HTTPRequest
    - urllib.parse.SplitResult
    - urllib.parse.urlunsplit
    - 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: 276
    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: 279
    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: 282
    functionName: jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.resolve
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - socket_path.replace
    - jupyter_server.utils.urldecode_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: 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: 6
    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 0x7f34fef7c9d0>
    - <ast.Constant object at 0x7f34fef7c700>
    - <ast.Constant object at 0x7f34fef7c820>
    argNames:
    - urlstring
    - method
    - body
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 297
    functionName: jupyter_server.utils.fetch
    functionSourceFile: jupyter_server.utils
    functionUses: 1
    functionsReached:
    - tornado.httpclient.AsyncHTTPClient.configure
    - tornado.httpclient.HTTPClient.fetch
    - tornado.httpclient.HTTPClient
    - urllib.parse.urlsplit
    - jupyter_server.utils._request_for_tornado_client
    - tornado.netutil.Resolver
    - tornado.httpclient.HTTPRequest
    - urllib.parse.SplitResult
    - urllib.parse.urlunsplit
    - tornado.netutil.Resolver.__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: 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 0x7f34fef7c0a0>
    - <ast.Constant object at 0x7f34fef7c040>
    - <ast.Constant object at 0x7f34fef7cd30>
    - <ast.Constant object at 0x7f34fef7c160>
    argNames:
    - urlstring
    - method
    - body
    - headers
    - io_loop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 311
    functionName: jupyter_server.utils.async_fetch
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - tornado.httpclient.AsyncHTTPClient.configure
    - urllib.parse.urlsplit
    - jupyter_server.utils._request_for_tornado_client
    - tornado.httpclient.AsyncHTTPClient.fetch
    - tornado.netutil.Resolver
    - tornado.httpclient.AsyncHTTPClient
    - tornado.httpclient.HTTPRequest
    - urllib.parse.SplitResult
    - urllib.parse.urlunsplit
    - tornado.netutil.Resolver.__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: 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: 325
    functionName: jupyter_server.utils.is_namespace_package
    functionSourceFile: jupyter_server.utils
    functionUses: 3
    functionsReached:
    - importlib.util.find_spec
    - <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: importlib.util.find_spec
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - filename
    - path_dirs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 345
    functionName: jupyter_server.utils.filefind
    functionSourceFile: jupyter_server.utils
    functionUses: 1
    functionsReached:
    - pathlib.Path
    - pathlib.Path.is_absolute
    - pathlib.Path.absolute
    - pathlib.Path.is_file
    - pathlib.Path.is_relative_to
    - os.path.abspath
    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: pathlib.Path.is_absolute
    functionSourceFile: pathlib
    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: pathlib.Path.absolute
    functionSourceFile: pathlib
    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.abspath
    functionSourceFile: os
    functionUses: 104
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.is_relative_to
    functionSourceFile: pathlib
    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: pathlib.Path.is_file
    functionSourceFile: pathlib
    functionUses: 2
    functionsReached: []
    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: 396
    functionName: jupyter_server.utils.import_item
    functionSourceFile: jupyter_server.utils
    functionUses: 5
    functionsReached:
    - <builtin>.len
    - traitlets.Any.rsplit
    - <builtin>.__import__
    - <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: <builtin>.__import__
    functionSourceFile: <builtin>
    functionUses: 11
    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: 67
    functionName: jupyter_server.base.handlers.json_sys_info
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - os.path.dirname
    - subprocess.Popen
    - os.path.join
    - jupyter_server._sysinfo.pkg_info
    - os.path.exists
    - jupyter_server._sysinfo.pkg_commit_hash
    - os.path.realpath
    - jupyter_server._sysinfo.get_sys_info
    - proc.communicate
    - repo_commit.strip
    - platform.platform
    - json.dumps
    - os.path.abspath
    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: 90
    functionName: jupyter_server._sysinfo.get_sys_info
    functionSourceFile: jupyter_server._sysinfo
    functionUses: 6
    functionsReached:
    - os.path.dirname
    - subprocess.Popen
    - os.path.join
    - jupyter_server._sysinfo.pkg_info
    - os.path.exists
    - jupyter_server._sysinfo.pkg_commit_hash
    - os.path.realpath
    - proc.communicate
    - repo_commit.strip
    - platform.platform
    - os.path.abspath
    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: 75
    functionName: jupyter_server.base.handlers.log
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - traitlets.config.Application.instance
    - typing.cast
    - traitlets.config.Application.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: 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: 87
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.base_url
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.settings.get
    functionSourceFile: tornado
    functionUses: 40
    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: 91
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.content_security_policy
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    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: 109
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.set_default_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - headers.update
    - headers.items
    - tornado.web.RequestHandler.log.exception
    - 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: 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: 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: 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: 130
    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: 3
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f34ffd5ebb0>
    - <ast.Constant object at 0x7f34ffd5efd0>
    argNames:
    - self
    - name
    - path
    - domain
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 140
    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: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 151
    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: 162
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.get_current_user
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - warnings.warn
    - <builtin>.hasattr
    - typing.cast
    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: 180
    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: 192
    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: 1
    functionLinenumber: 197
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.logged_in
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    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_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: 215
    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: 1
    functionLinenumber: 220
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.login_available
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 230
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.authorizer
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    - traitlets.config.LoggingConfigurable.__init__
    - typing.cast
    - 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: traitlets.config.LoggingConfigurable.__init__
    functionSourceFile: ''
    functionUses: 35
    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: 253
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.identity_provider
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    - traitlets.config.LoggingConfigurable.__init__
    - typing.cast
    - 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: 281
    functionName: jupyter_server.base.handlers.JupyterHandler.config
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    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: 285
    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: 290
    functionName: jupyter_server.base.handlers.JupyterHandler.jinja_template_vars
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    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: 295
    functionName: jupyter_server.base.handlers.JupyterHandler.serverapp
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 303
    functionName: jupyter_server.base.handlers.JupyterHandler.version_hash
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    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: 308
    functionName: jupyter_server.base.handlers.JupyterHandler.mathjax_url
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.url_path_join
    - typing.cast
    - urllib.parse.urlparse.path.startswith
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.settings.get
    - s.strip
    - jupyter_server.utils.url_is_absolute
    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: 315
    functionName: jupyter_server.base.handlers.JupyterHandler.mathjax_config
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    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: 319
    functionName: jupyter_server.base.handlers.JupyterHandler.default_url
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    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: 323
    functionName: jupyter_server.base.handlers.JupyterHandler.ws_url
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    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_server.base.handlers.JupyterHandler.contents_js_source
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    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: 339
    functionName: jupyter_server.base.handlers.JupyterHandler.kernel_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 343
    functionName: jupyter_server.base.handlers.JupyterHandler.contents_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 347
    functionName: jupyter_server.base.handlers.JupyterHandler.session_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 351
    functionName: jupyter_server.base.handlers.JupyterHandler.terminal_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 355
    functionName: jupyter_server.base.handlers.JupyterHandler.kernel_spec_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 359
    functionName: jupyter_server.base.handlers.JupyterHandler.config_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 363
    functionName: jupyter_server.base.handlers.JupyterHandler.event_logger
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 371
    functionName: jupyter_server.base.handlers.JupyterHandler.allow_origin
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    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: 376
    functionName: jupyter_server.base.handlers.JupyterHandler.allow_origin_pat
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    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: 381
    functionName: jupyter_server.base.handlers.JupyterHandler.allow_credentials
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    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: 385
    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: 389
    functionName: jupyter_server.base.handlers.JupyterHandler.set_cors_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.JupyterHandler.get_origin
    - re.match
    - 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: 1
    functionLinenumber: 422
    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: 17
    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: 411
    functionName: jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 7
    functionsReached:
    - jupyter_server.utils.url_escape
    - path.split
    - tornado.web.RequestHandler.set_header
    - urllib.parse.quote
    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 0x7f34ff6fd970>
    argNames:
    - self
    - origin_to_satisfy_tornado
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 435
    functionName: jupyter_server.base.handlers.JupyterHandler.check_origin
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 10
    functionsReached:
    - origin.lower
    - <builtin>.bool
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - tornado.web.RequestHandler.request.headers.get
    - re.match
    - urllib.parse.urlparse
    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: 482
    functionName: jupyter_server.base.handlers.JupyterHandler.check_referer
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 8
    functionsReached:
    - <builtin>.bool
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - tornado.web.RequestHandler.request.headers.get
    - re.match
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 528
    functionName: jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 7
    functionsReached:
    - origin.lower
    - <builtin>.bool
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - <builtin>.hasattr
    - re.match
    - jupyter_server.base.handlers.JupyterHandler.check_origin
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - <builtin>.super
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.settings.get
    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: 554
    functionName: jupyter_server.base.handlers.JupyterHandler.check_host
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - host.endswith
    - check_host.startswith
    - match.group
    - ipaddress.ip_address
    - re.match
    - jupyter_server.utils.urldecode_unix_socket_path
    - host.startswith
    - tornado.web.RequestHandler.settings.get
    - socket_path.replace
    - os.path.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 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: 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: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 6
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - _redirect_to_login
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 596
    functionName: jupyter_server.base.handlers.JupyterHandler.prepare
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - host.endswith
    - origin.lower
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.call_context.CallContext.set
    - <builtin>.bool
    - <builtin>.type
    - warnings.warn
    - jupyter_server.base.handlers.JupyterHandler.set_cors_headers
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.JupyterHandler.check_host
    - CallContext._name_value_map.set
    - jupyter_server.base.handlers.JupyterHandler.get_origin
    - re.match
    - jupyter_server.utils.urldecode_unix_socket_path
    - urllib.parse.urlparse
    - jupyter_server.base.handlers.AuthenticatedHandler.get_current_user
    - inspect.getmodule
    - tornado.web.authenticated
    - contextvars.copy_context
    - <builtin>.getattr
    - tornado.web.RequestHandler.settings.get
    - ipaddress.ip_address
    - check_host.startswith
    - typing.cast
    - jupyter_server.base.handlers.JupyterHandler.request.method.lower
    - jupyter_server.base.handlers.JupyterHandler.check_origin
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - os.path.exists
    - CallContext._name_value_map.get
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - match.group
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - <builtin>.hasattr
    - jupyter_server.base.call_context.CallContext._get_map
    - <builtin>.isinstance
    - <builtin>.super
    - host.startswith
    - socket_path.replace
    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: inspect.getmodule
    functionSourceFile: inspect
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.JupyterHandler.request.method.lower
    functionSourceFile: jupyter_server
    functionUses: 1
    functionsReached: []
    linkageType: 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.JupyterHandler.prepare.<lambda1>
    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: 0
    functionLinenumber: -1
    functionName: tornado.web.authenticated
    functionSourceFile: tornado
    functionUses: 27
    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: 662
    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: 666
    functionName: jupyter_server.base.handlers.JupyterHandler.render_template
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 10
    functionsReached:
    - template.render
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.get_template
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: template.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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 673
    functionName: jupyter_server.base.handlers.JupyterHandler.template_namespace
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.i18n.cached_load
    - m.group
    - <builtin>.bool
    - part.strip
    - tornado.web.RequestHandler.request.headers.get
    - subprocess.Popen
    - jupyter_server.i18n.load
    - jupyter_server._sysinfo.pkg_commit_hash
    - combined.update
    - os.path.realpath
    - json.dumps
    - os.path.abspath
    - json.load
    - <builtin>.getattr
    - jupyter_server.i18n.parse_accept_lang_header
    - <builtin>.float
    - jupyter_server._sysinfo.pkg_info
    - collections.defaultdict
    - proc.communicate
    - jupyter_server._sysinfo.get_sys_info
    - repo_commit.strip
    - platform.platform
    - lang.replace
    - os.path.dirname
    - <builtin>.dict
    - jupyter_server.i18n.combine_translations
    - accept_lang.split
    - <builtin>.open
    - _accept_lang_re.match
    - <builtin>.sorted
    - collections.defaultdict.items
    - os.path.exists
    - jupyter_server.base.handlers.json_sys_info
    - combined.clear
    - res.extend
    - os.path.join
    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 0x7f34ff59c6d0>
    argNames:
    - accept_language
    - domain
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 84
    functionName: jupyter_server.i18n.combine_translations
    functionSourceFile: jupyter_server.i18n
    functionUses: 1
    functionsReached:
    - json.load
    - jupyter_server.i18n.cached_load
    - m.group
    - lang.replace
    - combined.clear
    - part.strip
    - res.extend
    - jupyter_server.i18n.parse_accept_lang_header
    - accept_lang.split
    - <builtin>.float
    - <builtin>.open
    - os.path.join
    - <builtin>.sorted
    - collections.defaultdict
    - jupyter_server.i18n.load
    - combined.update
    - _accept_lang_re.match
    - collections.defaultdict.items
    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: 696
    functionName: jupyter_server.base.handlers.JupyterHandler.get_json_body
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 12
    functionsReached:
    - json.loads
    - tornado.web.RequestHandler.request.body.strip
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 710
    functionName: jupyter_server.base.handlers.JupyterHandler.write_error
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - template.render
    - tornado.web.RequestHandler.set_header
    - kwargs.get
    - <builtin>.getattr
    - ns.update
    - tornado.web.RequestHandler.write
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - http.client.responses.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: 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: 18
    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: 752
    functionName: jupyter_server.base.handlers.APIHandler.prepare
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - origin.lower
    - <builtin>.bool
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - re.match
    - jupyter_server.base.handlers.JupyterHandler.check_origin
    - <builtin>.super
    - urllib.parse.urlparse
    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: 758
    functionName: jupyter_server.base.handlers.APIHandler.write_error
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - kwargs.get
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - <builtin>.isinstance
    - <builtin>.super
    - http.client.responses.get
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    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: 812
    functionName: jupyter_server.base.handlers.APIHandler.finish
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 37
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_server._tz.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: 780
    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: 790
    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: 802
    functionName: jupyter_server.base.handlers.APIHandler.update_api_activity
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 38
    functionsReached:
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - jupyter_server._tz.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: 52
    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: 29
    functionName: jupyter_server._tz.utcnow
    functionSourceFile: jupyter_server._tz
    functionUses: 54
    functionsReached:
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 50
    functionsReached: []
    linkageType: 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.base.handlers.APIHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.allow_unauthenticated
    - typing.cast
    - functools.wraps
    - <builtin>.setattr
    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: 90
    functionName: jupyter_server.auth.decorator.allow_unauthenticated
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 13
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.setattr
    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: 821
    functionName: jupyter_server.base.handlers.APIHandler.options
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.request.headers.get
    - <builtin>.any
    - h.strip
    - 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: h.strip
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.any
    functionSourceFile: <builtin>
    functionUses: 49
    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: 864
    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: 876
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    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 0x7f34fe6fb2e0>
    - <ast.Constant object at 0x7f34fe6fb670>
    - <ast.Constant object at 0x7f34fe6fb9a0>
    argNames:
    - action
    - resource
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 18
    functionName: jupyter_server.auth.decorator.authorized
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 24
    functionsReached:
    - jupyter_server.auth.decorator.authorized.wrapper
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    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: 883
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.head
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - origin.lower
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - <builtin>.bool
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - <builtin>.hasattr
    - re.match
    - jupyter_server.base.handlers.JupyterHandler.check_origin
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - <builtin>.super
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.settings.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 890
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - origin.lower
    - tornado.web.RequestHandler.set_header
    - <builtin>.bool
    - jupyter_server.utils.url_escape
    - tornado.web.RequestHandler.request.headers.get
    - re.match
    - urllib.parse.urlparse
    - path.rsplit
    - tornado.web.StaticFileHandler.get
    - os.path.splitext
    - tornado.web.RequestHandler.get_argument
    - path.split
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.base.handlers.JupyterHandler.check_origin
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - <builtin>.hasattr
    - <builtin>.super
    - urllib.parse.quote
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 39
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 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: 901
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.get_content_type
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - name.endswith
    - mimetypes.guess_type
    - path.rsplit
    - <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: 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: 31
    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: 918
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.set_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - tornado.web.RequestHandler.add_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: 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: 925
    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: 929
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.validate_absolute_path
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.is_hidden
    - <builtin>.super
    - 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: 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: 947
    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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.wraps
    functionSourceFile: functools
    functionUses: 51
    functionsReached: []
    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: 966
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 994
    functionName: jupyter_server.base.handlers.FileFindHandler.set_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.FileFindHandler.request.path.startswith
    - <builtin>.any
    - <builtin>.super
    - 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: 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 0x7f34feb33820>
    - <ast.Constant object at 0x7f34feb33f40>
    argNames:
    - self
    - path
    - default_filename
    - no_cache_paths
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1010
    functionName: jupyter_server.base.handlers.FileFindHandler.initialize
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - os.path.abspath
    - <builtin>.tuple
    - os.path.expanduser
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 1025
    functionName: jupyter_server.base.handlers.FileFindHandler.compute_etag
    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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.FileFindHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.allow_unauthenticated
    - typing.cast
    - functools.wraps
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f34fe964c40>
    argNames:
    - self
    - path
    - include_body
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1032
    functionName: jupyter_server.base.handlers.FileFindHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1038
    functionName: jupyter_server.base.handlers.FileFindHandler.head
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    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: 2
    functionLinenumber: 1042
    functionName: jupyter_server.base.handlers.FileFindHandler.get_absolute_path
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast.debug
    - pathlib.Path
    - typing.cast
    - jupyter_server.base.handlers.log
    - pathlib.Path.is_absolute
    - pathlib.Path.absolute
    - jupyter_server.utils.filefind
    - os.path.abspath
    - pathlib.Path.is_file
    - traitlets.config.Application.instance
    - traitlets.config.Application.initialized
    - pathlib.Path.is_relative_to
    - tornado.log.app_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: typing.cast.debug
    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: 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: 1058
    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: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.APIVersionHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.allow_unauthenticated
    - typing.cast
    - functools.wraps
    - <builtin>.setattr
    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: 1076
    functionName: jupyter_server.base.handlers.APIVersionHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - <builtin>.super
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    linkageType: 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.base.handlers.TrailingSlashHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.allow_unauthenticated
    - typing.cast
    - functools.wraps
    - <builtin>.setattr
    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: 1089
    functionName: jupyter_server.base.handlers.TrailingSlashHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.redirect
    - tornado.web.RequestHandler.request.uri.partition
    - 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: 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: 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: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.MainHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.allow_unauthenticated
    - typing.cast
    - functools.wraps
    - <builtin>.setattr
    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: 1106
    functionName: jupyter_server.base.handlers.MainHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - template.render
    - ns.update
    - tornado.web.RequestHandler.write
    - jupyter_server.base.handlers.JupyterHandler.get_template
    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: 1118
    functionName: jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 4
    functionsReached:
    - jupyter_server.utils.url_path_join
    - jupyter_server.utils.url_escape
    - tornado.web.RequestHandler.redirect
    - path.split
    - jupyter_core.utils.ensure_async
    - urllib.parse.quote
    - s.strip
    - parts.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: 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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.FilesRedirectHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.allow_unauthenticated
    - typing.cast
    - functools.wraps
    - <builtin>.setattr
    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 0x7f34fea7fe20>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1147
    functionName: jupyter_server.base.handlers.FilesRedirectHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.utils.url_path_join
    - tornado.web.RequestHandler.redirect
    - jupyter_server.utils.url_escape
    - path.split
    - jupyter_core.utils.ensure_async
    - jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    - urllib.parse.quote
    - s.strip
    - parts.remove
    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 0x7f34fea7fdc0>
    argNames:
    - self
    - url
    - permanent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1154
    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: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.RedirectWithParams
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.allow_unauthenticated
    - typing.cast
    - functools.wraps
    - <builtin>.setattr
    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: 1160
    functionName: jupyter_server.base.handlers.RedirectWithParams.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.redirect
    - sep.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: sep.join
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.PrometheusMetricsHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.allow_unauthenticated
    - typing.cast
    - functools.wraps
    - <builtin>.setattr
    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: 1173
    functionName: jupyter_server.base.handlers.PrometheusMetricsHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - prometheus_client.generate_latest
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.set_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: prometheus_client.generate_latest
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.PublicStaticFileHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.allow_unauthenticated
    - typing.cast
    - functools.wraps
    - <builtin>.setattr
    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: 1186
    functionName: jupyter_server.base.handlers.PublicStaticFileHandler.head
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f34fea0efa0>
    argNames:
    - self
    - path
    - include_body
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1190
    functionName: jupyter_server.base.handlers.PublicStaticFileHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.serverapp
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - flags.update
    - aliases.update
    - traitlets.config.application.boolean_flag
    - colorama.init
    - sys.platform.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: sys.platform.startswith
    functionSourceFile: sys
    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: colorama.init
    functionSourceFile: colorama
    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:
    - port
    - n
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 216
    functionName: jupyter_server.serverapp.random_ports
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - random.randint
    - <builtin>.max
    - <builtin>.range
    - <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: 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: random.randint
    functionSourceFile: random
    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: 1
    functionLinenumber: 228
    functionName: jupyter_server.serverapp.load_handlers
    functionSourceFile: jupyter_server.serverapp
    functionUses: 4
    functionsReached:
    - <builtin>.__import__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 20
    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
    - websocket_ping_interval
    - websocket_ping_timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 242
    functionName: jupyter_server.serverapp.ServerWebApplication.__init__
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - <builtin>.__import__
    - warnings.warn
    - method_name.lower
    - subprocess.Popen
    - code.co_qualname.startswith
    - jupyter_server._sysinfo.pkg_commit_hash
    - new_handlers.append
    - os.path.realpath
    - <builtin>.list
    - os.path.expanduser
    - jupyter_server.serverapp.load_handlers
    - functools.partial
    - undecorated_methods.extend
    - traitlets.config.LoggingConfigurable.__init__
    - os.path.abspath
    - jinja2.FileSystemLoader
    - <builtin>.getattr
    - settings.update
    - jupyter_server._sysinfo.pkg_info
    - <builtin>.len
    - proc.communicate
    - jupyter_server._sysinfo.get_sys_info
    - repo_commit.strip
    - platform.platform
    - jinja2.Environment.install_gettext_translations
    - jupyter_server.serverapp._has_tornado_web_authenticated
    - code.co_filename.replace
    - jupyter_server.serverapp.ServerWebApplication.init_settings
    - jupyter_server.utils.url_path_join
    - os.path.dirname
    - jupyter_server.serverapp.ServerWebApplication._check_handler_auth
    - handlers.extend
    - traitlets.Dict.get
    - handlers.append
    - os.path.exists
    - jenv_opt.update
    - datetime.datetime.now
    - jupyter_server.serverapp.ServerWebApplication.init_handlers
    - <builtin>.hasattr
    - os.path.join
    - <builtin>.isinstance
    - <builtin>.super
    - jinja2.Environment
    - gettext.translation
    - jupyter_server.auth.identity.IdentityProvider.get_handlers
    - missing_authentication.append
    - s.strip
    - root_dir.startswith
    - jupyter_server._tz.utcnow
    linkageType: pythonLinkage
    raised:
    - Exception
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 19
    argDefaultValues:
    - <ast.Constant object at 0x7f34ff024fa0>
    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
    - websocket_ping_interval
    - websocket_ping_timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 349
    functionName: jupyter_server.serverapp.ServerWebApplication.init_settings
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - subprocess.Popen
    - jupyter_server._sysinfo.pkg_commit_hash
    - os.path.realpath
    - os.path.expanduser
    - functools.partial
    - os.path.abspath
    - jinja2.FileSystemLoader
    - settings.update
    - jupyter_server._sysinfo.pkg_info
    - <builtin>.len
    - proc.communicate
    - jupyter_server._sysinfo.get_sys_info
    - repo_commit.strip
    - platform.platform
    - jinja2.Environment.install_gettext_translations
    - jupyter_server.utils.url_path_join
    - os.path.dirname
    - traitlets.Dict.get
    - os.path.exists
    - jenv_opt.update
    - datetime.datetime.now
    - os.path.join
    - <builtin>.isinstance
    - jinja2.Environment
    - gettext.translation
    - s.strip
    - root_dir.startswith
    - jupyter_server._tz.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 10
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - default_services
    - settings
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 484
    functionName: jupyter_server.serverapp.ServerWebApplication.init_handlers
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - jupyter_server.utils.url_path_join
    - <builtin>.__import__
    - handlers.extend
    - new_handlers.append
    - jupyter_server.auth.identity.IdentityProvider.get_handlers
    - jupyter_server.serverapp.load_handlers
    - handlers.append
    - <builtin>.list
    - s.strip
    linkageType: pythonLinkage
    raised:
    - Exception
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - matcher
    - handler
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 561
    functionName: jupyter_server.serverapp.ServerWebApplication._check_handler_auth
    functionSourceFile: jupyter_server.serverapp
    functionUses: 4
    functionsReached:
    - code.co_filename.replace
    - method_name.lower
    - <builtin>.getattr
    - <builtin>.hasattr
    - code.co_qualname.startswith
    - missing_authentication.append
    - jupyter_server.serverapp._has_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: undecorated_methods.extend
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - host_pattern
    - host_handlers
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 326
    functionName: jupyter_server.serverapp.ServerWebApplication.add_handlers
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - code.co_filename.replace
    - warnings.warn
    - method_name.lower
    - <builtin>.getattr
    - <builtin>.hasattr
    - code.co_qualname.startswith
    - jupyter_server.serverapp.ServerWebApplication._check_handler_auth
    - <builtin>.isinstance
    - <builtin>.super
    - missing_authentication.append
    - undecorated_methods.extend
    - jupyter_server.serverapp._has_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: traitlets.Dict.get
    functionSourceFile: traitlets
    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: 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: 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: 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: 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: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 326
    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: 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: 542
    functionName: jupyter_server.serverapp.ServerWebApplication.last_activity
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - <builtin>.max
    - tornado.web.Application.settings.items
    - sources.extend
    - key.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: tornado.web.Application.settings.items
    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: key.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: sources.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: method_name.lower
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 577
    functionName: jupyter_server.serverapp._has_tornado_web_authenticated
    functionSourceFile: jupyter_server.serverapp
    functionUses: 5
    functionsReached:
    - <builtin>.hasattr
    - code.co_qualname.startswith
    - code.co_filename.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: missing_authentication.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: code.co_qualname.startswith
    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: code.co_filename.replace
    functionSourceFile: <builtin>
    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: 605
    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: 609
    functionName: jupyter_server.serverapp.JupyterPasswordApp.start
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.security.persist_config
    - h.update
    - traitlets.config.loader.JSONFileConfigLoader.load_config
    - warnings.warn
    - <builtin>.str
    - json.dumps
    - jupyter_server.auth.security.passwd
    - jupyter_core.application.JupyterApp.log.info
    - h.hexdigest
    - ph.hash
    - <builtin>.range
    - getpass.getpass.encode
    - os.path.basename
    - hashlib.new
    - jupyter_server.auth.security.set_password
    - os.path.dirname
    - <builtin>.open
    - traitlets.config.Config
    - traceback.format_exc
    - os.makedirs
    - argon2.PasswordHasher
    - random.getrandbits
    - os.path.join
    - salt.encode
    - os.chmod
    - jupyter_core.paths.jupyter_config_dir
    - traitlets.config.loader.JSONFileConfigLoader
    - f.write
    - getpass.getpass
    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 0x7f34fe881c40>
    - <ast.Constant object at 0x7f34fe881070>
    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:
    - jupyter_server.auth.security.persist_config
    - h.update
    - warnings.warn
    - traitlets.config.loader.JSONFileConfigLoader.load_config
    - <builtin>.str
    - json.dumps
    - jupyter_server.auth.security.passwd
    - h.hexdigest
    - ph.hash
    - <builtin>.range
    - getpass.getpass.encode
    - os.path.basename
    - hashlib.new
    - os.path.dirname
    - <builtin>.open
    - traitlets.config.Config
    - traceback.format_exc
    - os.makedirs
    - argon2.PasswordHasher
    - random.getrandbits
    - os.path.join
    - salt.encode
    - os.chmod
    - jupyter_core.paths.jupyter_config_dir
    - traitlets.config.loader.JSONFileConfigLoader
    - f.write
    - getpass.getpass
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 27
    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 0x7f34fe76a370>
    - <ast.Constant object at 0x7f34fe76a910>
    argNames:
    - server_info
    - timeout
    - log
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 617
    functionName: jupyter_server.serverapp.shutdown_server
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - tornado.httpclient.HTTPClient
    - urllib.parse.urlsplit
    - <builtin>.bool
    - jupyter_server.utils._request_for_tornado_client
    - tornado.netutil.Resolver
    - <builtin>.str
    - jupyter_server.utils.fetch
    - tornado.httpclient.AsyncHTTPClient.configure
    - jupyter_server.utils._check_pid_posix
    - <builtin>.range
    - tornado.httpclient.HTTPRequest
    - jupyter_server.utils._check_pid_win32
    - urllib.parse.SplitResult
    - urllib.parse.urlunsplit
    - tornado.netutil.Resolver.__init__
    - log.debug
    - urllib.parse.urljoin
    - sys.platform.startswith
    - os.kill
    - tornado.httpclient.HTTPClient.fetch
    - ctypes.windll.kernel32.OpenProcess
    - time.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: 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: 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: time.sleep
    functionSourceFile: time
    functionUses: 1
    functionsReached: []
    linkageType: 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.Integer
    - traitlets.Unicode
    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 0x7f34ff3eeac0>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 698
    functionName: jupyter_server.serverapp.JupyterServerStopApp.parse_command_line
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.int
    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: 708
    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: 712
    functionName: jupyter_server.serverapp.JupyterServerStopApp._shutdown_or_exit
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - sys.exit
    - jupyter_server.serverapp.JupyterServerStopApp.shutdown_server
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 719
    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: 726
    functionName: jupyter_server.serverapp.JupyterServerStopApp.start
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - re.match
    - os.path.isdir
    - log.warning
    - jupyter_server.serverapp.JupyterServerStopApp.shutdown_server
    - <builtin>.list
    - server.get
    - jupyter_core.application.JupyterApp.log.info
    - json.load
    - os.listdir
    - jupyter_core.application.JupyterApp.exit
    - sys.exit
    - jupyter_server.utils._check_pid_posix
    - jupyter_server.utils._check_pid_win32
    - jupyter_core.paths.jupyter_runtime_dir
    - jupyter_server.serverapp.list_running_servers
    - jupyter_server.serverapp.JupyterServerStopApp._maybe_remove_unix_socket
    - <builtin>.open
    - os.unlink
    - os.kill
    - os.path.join
    - jupyter_server.serverapp.JupyterServerStopApp._shutdown_or_exit
    - ctypes.windll.kernel32.OpenProcess
    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 0x7f34fc118850>
    - <ast.Constant object at 0x7f34fc118880>
    argNames:
    - runtime_dir
    - log
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 3239
    functionName: jupyter_server.serverapp.list_running_servers
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - json.load
    - os.kill
    - os.listdir
    - <builtin>.bool
    - jupyter_server.utils._check_pid_posix
    - os.path.join
    - <builtin>.open
    - re.match
    - os.path.isdir
    - log.warning
    - ctypes.windll.kernel32.OpenProcess
    - jupyter_server.utils._check_pid_win32
    - jupyter_core.paths.jupyter_runtime_dir
    - 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: 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: 789
    functionName: jupyter_server.serverapp.JupyterServerListApp.start
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - re.match
    - os.path.isdir
    - log.warning
    - <builtin>.list
    - json.load
    - os.listdir
    - traitlets.Bool.dumps
    - jupyter_server.utils._check_pid_posix
    - serverinfo.get
    - jupyter_server.utils._check_pid_win32
    - jupyter_core.paths.jupyter_runtime_dir
    - jupyter_server.serverapp.list_running_servers
    - <builtin>.open
    - os.unlink
    - os.kill
    - os.path.join
    - ctypes.windll.kernel32.OpenProcess
    - <builtin>.print
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: <builtin>.print
    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: 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:
    - traitlets.config.application.catch_config_error
    - traitlets.Unicode.tag
    - jupyter_core.application.JupyterApp.description.splitlines
    - traitlets.Instance
    - traitlets.Bool
    - traitlets.Bytes
    - traitlets.Union
    - traitlets.Unicode
    - traitlets.List
    - traitlets.Dict
    - traitlets.Type
    - traitlets.observe
    - traitlets.Integer
    - traitlets.default
    - traitlets.Any
    - traitlets.Float
    - trans.gettext
    - 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: 948
    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: 952
    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: 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: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1021
    functionName: jupyter_server.serverapp.ServerApp._default_ip
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - s.close
    - socket.socket
    - s.bind
    - 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: 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: 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: 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: 9
    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: 1039
    functionName: jupyter_server.serverapp.ServerApp._validate_ip
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 1071
    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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.getenv
    functionSourceFile: os
    functionUses: 7
    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: 1086
    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: 1098
    functionName: jupyter_server.serverapp.ServerApp._validate_sock_mode
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - value.encode
    - <builtin>.int
    - <builtin>.all
    - <builtin>.bool
    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: 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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1146
    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: 1163
    functionName: jupyter_server.serverapp.ServerApp._default_cookie_secret
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.urandom
    - jupyter_core.application.JupyterApp.log.info
    - f.read
    - h.digest
    - h.update
    - traitlets.Unicode.encode
    - <builtin>.open
    - jupyter_core.application.JupyterApp.log.error
    - base64.encodebytes
    - jupyter_core.paths.secure_write
    - jupyter_server.serverapp.ServerApp._write_cookie_secret_file
    - hmac.new
    - f.write
    - os.path.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 35
    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: 1174
    functionName: jupyter_server.serverapp.ServerApp._write_cookie_secret_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_core.application.JupyterApp.log.error
    - jupyter_core.paths.secure_write
    - f.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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.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: jupyter_core.application.JupyterApp.log.error
    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_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 0x7f34ff5e01f0>
    argNames:
    - self
    - change
    - clsname
    - new_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1277
    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: 1198
    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: 1218
    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: 12
    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: 1299
    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: 1303
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1346
    functionName: jupyter_server.serverapp.ServerApp._allow_unauthenticated_access_default
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.getenv
    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: 1369
    functionName: jupyter_server.serverapp.ServerApp._default_allow_remote
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - socket.getaddrinfo
    - addr.split
    - ipaddress.ip_address
    - 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: 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: addr.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: traitlets.List
    functionSourceFile: traitlets
    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.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: 1508
    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: 1541
    functionName: jupyter_server.serverapp.ServerApp._update_base_url
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - value.endswith
    - typing.cast
    - 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: 1559
    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: 1566
    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: 1580
    functionName: jupyter_server.serverapp.ServerApp.template_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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Type
    functionSourceFile: traitlets
    functionUses: 38
    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: 1622
    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: 1633
    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: 1645
    functionName: jupyter_server.serverapp.ServerApp._default_kernel_websocket_connection_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: 1698
    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: 1754
    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: 1765
    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: 1772
    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: 1787
    functionName: jupyter_server.serverapp.ServerApp._update_pylab
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.error
    - jupyter_core.application.JupyterApp.exit
    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: 1803
    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: 1834
    functionName: jupyter_server.serverapp.ServerApp._default_root_dir
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.getcwd
    - os.path.dirname
    - 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.getcwd
    functionSourceFile: os
    functionUses: 10
    functionsReached: []
    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: 1841
    functionName: jupyter_server.serverapp.ServerApp._normalize_dir
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - value.rstrip
    - os.path.isabs
    - os.path.splitdrive
    - 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: 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: 10
    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: 1855
    functionName: jupyter_server.serverapp.ServerApp._root_dir_validate
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - value.rstrip
    - os.path.isabs
    - os.path.splitdrive
    - jupyter_server.serverapp.ServerApp._normalize_dir
    - os.path.isdir
    - 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: 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: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1862
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1875
    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: 1879
    functionName: jupyter_server.serverapp.ServerApp._preferred_dir_validate
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - value.rstrip
    - os.path.isabs
    - os.path.splitdrive
    - jupyter_server.serverapp.ServerApp._normalize_dir
    - os.path.isdir
    - os.path.abspath
    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: 1886
    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: 1917
    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: 1927
    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: 1937
    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: 1947
    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: 1957
    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: 1989
    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: 2047
    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 0x7f34fe810460>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2051
    functionName: jupyter_server.serverapp.ServerApp.parse_command_line
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.update_config
    - jupyter_core.application.JupyterApp.exit
    - os.path.exists
    - jupyter_core.application.JupyterApp.log.critical
    - traitlets.config.Config
    - os.path.isdir
    - <builtin>.super
    - jupyter_core.application.JupyterApp.argv.remove
    - os.path.isfile
    - 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: 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: os.path.isfile
    functionSourceFile: os
    functionUses: 81
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 9
    IfCount: 12
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2072
    functionName: jupyter_server.serverapp.ServerApp.init_configurables
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - pathlib.Path
    - warnings.warn
    - <builtin>.issubclass
    - jupyter_core.application.JupyterApp.log.warning
    - <builtin>.str
    - traitlets.config.SingletonConfigurable.instance
    - traitlets.Type
    - 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.SingletonConfigurable.instance
    functionSourceFile: traitlets
    functionUses: 39
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 2188
    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: 2204
    functionName: jupyter_server.serverapp.ServerApp.init_event_logger
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - jupyter_events.logger.EventLogger
    - traitlets.Instance.register_event_schema
    - schema_id.replace
    - jupyter_events.logger.EventLogger.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: traitlets.Instance.register_event_schema
    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: jupyter_events.logger.EventLogger.register_event_schema
    functionSourceFile: jupyter_events
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 11
    IfCount: 14
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 2222
    functionName: jupyter_server.serverapp.ServerApp.init_webapp
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - <builtin>.__import__
    - warnings.warn
    - method_name.lower
    - subprocess.Popen
    - jupyter_core.application.JupyterApp.log.critical
    - code.co_qualname.startswith
    - jupyter_server._sysinfo.pkg_commit_hash
    - new_handlers.append
    - os.path.realpath
    - <builtin>.list
    - os.path.expanduser
    - jupyter_server.serverapp.load_handlers
    - functools.partial
    - undecorated_methods.extend
    - traitlets.Dict.setdefault
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.auth.identity.LegacyIdentityProvider.validate_security
    - jupyter_core.application.JupyterApp.log.info
    - traitlets.Unicode.startswith
    - os.path.abspath
    - jinja2.FileSystemLoader
    - sys.exit
    - <builtin>.getattr
    - settings.update
    - jupyter_server._sysinfo.pkg_info
    - <builtin>.len
    - proc.communicate
    - jupyter_server._sysinfo.get_sys_info
    - repo_commit.strip
    - platform.platform
    - jinja2.Environment.install_gettext_translations
    - jupyter_server.serverapp._has_tornado_web_authenticated
    - code.co_filename.replace
    - jupyter_server.utils.url_path_join
    - jupyter_server.serverapp.ServerWebApplication.init_settings
    - os.path.dirname
    - jupyter_server.serverapp.ServerWebApplication._check_handler_auth
    - handlers.extend
    - traitlets.Dict.get
    - handlers.append
    - jupyter_server.serverapp.ServerWebApplication.__init__
    - sys.platform.startswith
    - os.path.exists
    - re.compile
    - traitlets.config.LoggingConfigurable.log.critical
    - jenv_opt.update
    - traitlets.Type.validate_security
    - datetime.datetime.now
    - jupyter_server.serverapp.ServerWebApplication.init_handlers
    - <builtin>.hasattr
    - os.path.join
    - <builtin>.isinstance
    - <builtin>.super
    - jinja2.Environment
    - gettext.translation
    - jupyter_server.auth.identity.IdentityProvider.get_handlers
    - missing_authentication.append
    - s.strip
    - root_dir.startswith
    - jupyter_server._tz.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.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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f34ff024ee0>
    argNames:
    - self
    - app
    - ssl_options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 794
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.validate_security
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 2
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.critical
    - traitlets.Type.validate_security
    - sys.exit
    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: 2326
    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 0x7f34fea7fd30>
    - <ast.Constant object at 0x7f34fea7ff70>
    argNames:
    - self
    - path
    - include_token
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2345
    functionName: jupyter_server.serverapp.ServerApp._get_urlparts
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - urllib.parse.ParseResult
    - socket.gethostname
    - jupyter_server.utils.urlencode_unix_socket_path
    - traitlets.Unicode.replace
    - urllib.parse.urlencode
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 2381
    functionName: jupyter_server.serverapp.ServerApp.public_url
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._get_urlparts
    - custom.items
    - parts._replace
    - urllib.parse.ParseResult
    - urllib.parse.urlparse
    - socket.gethostname
    - parts.geturl
    - jupyter_server.utils.urlencode_unix_socket_path
    - traitlets.Unicode.replace
    - urllib.parse.urlencode
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 2394
    functionName: jupyter_server.serverapp.ServerApp.local_url
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._get_urlparts
    - parts._replace
    - urllib.parse.ParseResult
    - socket.gethostname
    - parts.geturl
    - jupyter_server.utils.urlencode_unix_socket_path
    - traitlets.Unicode.replace
    - urllib.parse.urlencode
    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: 2403
    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: 2413
    functionName: jupyter_server.serverapp.ServerApp.connection_url
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._get_urlparts
    - urllib.parse.ParseResult
    - urlparts.geturl
    - socket.gethostname
    - jupyter_server.utils.urlencode_unix_socket_path
    - traitlets.Unicode.replace
    - urllib.parse.urlencode
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 2417
    functionName: jupyter_server.serverapp.ServerApp.init_signal
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - signal.signal
    - sys.stdin.isatty
    - sys.platform.startswith
    - <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: sys.stdin.isatty
    functionSourceFile: sys
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: signal.signal
    functionSourceFile: signal
    functionUses: 10
    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: 2433
    functionName: jupyter_server.serverapp.ServerApp._handle_sigint
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - signal.signal
    - thread.start
    - threading.Thread
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 2450
    functionName: jupyter_server.serverapp.ServerApp._restore_sigint_handler
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - signal.signal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 12
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2454
    functionName: jupyter_server.serverapp.ServerApp._confirm_exit
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - sys.stdout.write
    - sys.stdout.flush
    - typing.cast
    - select.select
    - jupyter_server.serverapp.ServerApp.running_server_info
    - trans.ngettext
    - line.lower
    - <builtin>.getattr
    - <builtin>.hasattr
    - jupyter_core.application.JupyterApp.log.critical
    - <builtin>.len
    - sys.stdin.readline
    - jupyter_server.serverapp.ServerApp.stop
    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 0x7f34fc117d60>
    argNames:
    - self
    - from_signal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3223
    functionName: jupyter_server.serverapp.ServerApp.stop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - <builtin>.getattr
    - <builtin>.hasattr
    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 0x7f34ff1884f0>
    argNames:
    - self
    - kernel_count
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2871
    functionName: jupyter_server.serverapp.ServerApp.running_server_info
    functionSourceFile: jupyter_server.serverapp
    functionUses: 4
    functionsReached:
    - trans.ngettext
    - <builtin>.len
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdout.write
    functionSourceFile: sys
    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: 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: 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: sys.stdin.readline
    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: line.lower
    functionSourceFile: <builtin>
    functionUses: 5
    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: 2498
    functionName: jupyter_server.serverapp.ServerApp._signal_stop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.hasattr
    - jupyter_server.serverapp.ServerApp.stop
    - jupyter_core.application.JupyterApp.log.critical
    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: 2509
    functionName: jupyter_server.serverapp.ServerApp._signal_info
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - typing.cast
    - jupyter_server.serverapp.ServerApp.running_server_info
    - trans.ngettext
    - <builtin>.len
    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: 2513
    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: 2517
    functionName: jupyter_server.serverapp.ServerApp.find_server_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.services.config.manager.ConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - new.items
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - os.path.isfile
    - traitlets.config.LoggingConfigurable.__init__
    - json.load
    - jupyter_server.config_manager.recursive_update
    - jupyter_core.application.JupyterApp.config.ServerApp.jpserver_extensions.update
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - traitlets.config.LoggingConfigurable.log.debug
    - glob.glob
    - traitlets.Dict.update
    - os.path.getsize
    - <builtin>.open
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.sorted
    - extensions.items
    - os.path.join
    - data.get
    - <builtin>.isinstance
    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 0x7f34feb4b940>
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 14
    functionName: jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    functionSourceFile: jupyter_server.extension.config
    functionUses: 8
    functionsReached:
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.services.config.manager.ConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - new.items
    - os.path.isfile
    - traitlets.config.LoggingConfigurable.__init__
    - json.load
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - traitlets.config.LoggingConfigurable.log.debug
    - glob.glob
    - os.path.getsize
    - <builtin>.open
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.sorted
    - os.path.join
    - data.get
    - <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: 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: 2540
    functionName: jupyter_server.serverapp.ServerApp.init_server_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - module._jupyter_server_extension_paths
    - traitlets.Dict.items
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - traitlets.config.LoggingConfigurable.__init__
    - module._jupyter_server_extension_points
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - extension.link_all_points
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.extension.utils.get_metadata
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - traitlets.HasTraits.__init__
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.extension.manager.ExtensionManager.link_all_extensions
    - traitlets.Dict.get
    - importlib.import_module
    - jupyter_server.extension.manager.ExtensionManager.link_extension
    - <builtin>.super
    - time.perf_counter
    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: 355
    functionName: jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 5
    functionsReached:
    - module._jupyter_server_extension_points
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - module._jupyter_server_extension_paths
    - traitlets.Dict.items
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.HasTraits.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - importlib.import_module
    - <builtin>.super
    - time.perf_counter
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - jupyter_server.extension.utils.get_metadata
    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: 435
    functionName: jupyter_server.extension.manager.ExtensionManager.link_all_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - extension.link_all_points
    - jupyter_server.extension.manager.ExtensionManager.link_extension
    - traitlets.Dict.get
    - traitlets.config.LoggingConfigurable.log.info
    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: 2553
    functionName: jupyter_server.serverapp.ServerApp.load_server_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - extension.load_all_points
    - jupyter_server.extension.manager.ExtensionManager.load_extension
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Dict.get
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.extension.manager.ExtensionManager.load_all_extensions
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 444
    functionName: jupyter_server.extension.manager.ExtensionManager.load_all_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - extension.load_all_points
    - jupyter_server.extension.manager.ExtensionManager.load_extension
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Dict.get
    - traitlets.config.LoggingConfigurable.log.info
    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: 2563
    functionName: jupyter_server.serverapp.ServerApp.init_mime_overrides
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - mimetypes.add_type
    - mimetypes.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: 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: 2577
    functionName: jupyter_server.serverapp.ServerApp.shutdown_no_activity
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - <builtin>.max
    - <builtin>.dict
    - jupyter_server._tz.utcnow
    - jupyter_server.extension.manager.ExtensionManager.any_activity
    - <builtin>.getattr
    - app.current_activity
    - <builtin>.hasattr
    - datetime.datetime.now
    - key.endswith
    - jupyter_core.application.JupyterApp.log.debug
    - <builtin>.len
    - tornado.web.Application.settings.items
    - jupyter_server.serverapp.ServerWebApplication.last_activity
    - sources.extend
    - jupyter_server.serverapp.ServerApp.stop
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 463
    functionName: jupyter_server.extension.manager.ExtensionManager.any_activity
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 1
    functionsReached:
    - app.current_activity
    - <builtin>.sorted
    - <builtin>.dict
    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: 2595
    functionName: jupyter_server.serverapp.ServerApp.init_shutdown_no_activity
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - pc.start
    - tornado.ioloop.PeriodicCallback
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 2606
    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: 2618
    functionName: jupyter_server.serverapp.ServerApp.init_httpserver
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - <builtin>.max
    - tornado.netutil.bind_sockets
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.getattr
    - <builtin>.hasattr
    - <builtin>.min
    - jupyter_core.application.JupyterApp.log.warning
    - jupyter_core.application.JupyterApp.log.critical
    - random.randint
    - <builtin>.range
    - tornado.httpserver.HTTPServer
    - jupyter_server.serverapp.ServerApp._find_http_port
    - jupyter_server.serverapp.random_ports
    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: 2682
    functionName: jupyter_server.serverapp.ServerApp._find_http_port
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - <builtin>.max
    - tornado.netutil.bind_sockets
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.getattr
    - <builtin>.min
    - jupyter_core.application.JupyterApp.log.critical
    - random.randint
    - jupyter_core.application.JupyterApp.log.warning
    - <builtin>.range
    - jupyter_server.serverapp.random_ports
    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: 2644
    functionName: jupyter_server.serverapp.ServerApp._bind_http_server
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._bind_http_server_tcp
    - jupyter_server.serverapp.ServerApp._bind_http_server_unix
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.getattr
    - traitlets.Unicode.encode
    - <builtin>.int
    - jupyter_core.application.JupyterApp.log.warning
    - jupyter_core.application.JupyterApp.log.critical
    - tornado.netutil.bind_unix_socket
    - socket.socket
    - sock.connect
    - sock.close
    - jupyter_server.utils.unix_socket_in_use
    - os.path.exists
    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: 2656
    functionName: jupyter_server.serverapp.ServerApp._bind_http_server_unix
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - traitlets.Unicode.encode
    - <builtin>.getattr
    - <builtin>.int
    - jupyter_core.application.JupyterApp.log.warning
    - tornado.netutil.bind_unix_socket
    - socket.socket
    - sock.connect
    - sock.close
    - jupyter_server.utils.unix_socket_in_use
    - os.path.exists
    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: 2677
    functionName: jupyter_server.serverapp.ServerApp._bind_http_server_tcp
    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: 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: 2729
    functionName: jupyter_server.serverapp.ServerApp._init_asyncio_patch
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - <builtin>.type
    - asyncio.WindowsSelectorEventLoopPolicy
    - asyncio.set_event_loop_policy
    - asyncio.get_event_loop_policy
    - sys.platform.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: 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: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2753
    functionName: jupyter_server.serverapp.ServerApp.init_metrics
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - prometheus_client.Gauge.set_function
    - prometheus_client.Info.info
    - prometheus_client.Info.labels
    - <builtin>.str
    - prometheus_client.Gauge.set
    - traitlets.Dict.values
    - started.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: prometheus_client.Info.info
    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: traitlets.Dict.values
    functionSourceFile: traitlets
    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: prometheus_client.Info.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: started.timestamp
    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: prometheus_client.Gauge.set
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.serverapp.ServerApp.init_metrics.<lambda1>
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.max
    - key.endswith
    - tornado.web.Application.settings.items
    - sources.extend
    - jupyter_server.serverapp.ServerWebApplication.last_activity
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.set_function
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.serverapp.ServerApp.init_metrics.<lambda2>
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.max
    - key.endswith
    - tornado.web.Application.settings.items
    - sources.extend
    - jupyter_server.serverapp.ServerWebApplication.last_activity
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 20
    IfCount: 5
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f34fec13d00>
    - <ast.Constant object at 0x7f34fec13850>
    - <ast.Constant object at 0x7f34fec13790>
    - <ast.Constant object at 0x7f34fec13970>
    argNames:
    - self
    - argv
    - find_extensions
    - new_httpserver
    - starter_extension
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 2775
    functionName: jupyter_server.serverapp.ServerApp.initialize
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.__import__
    - jupyter_server.serverapp.ServerApp.load_server_extensions
    - warnings.warn
    - code.co_qualname.startswith
    - <builtin>.str
    - new_handlers.append
    - <builtin>.list
    - os.path.expanduser
    - functools.partial
    - os.path.isfile
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.config_manager.recursive_update
    - os.path.abspath
    - <builtin>.max
    - started.timestamp
    - jinja2.FileSystemLoader
    - jupyter_server.serverapp.ServerApp._init_asyncio_patch
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - <builtin>.getattr
    - jupyter_core.application.JupyterApp.exit
    - glob.glob
    - logger.setLevel
    - <builtin>.range
    - jupyter_server._sysinfo.get_sys_info
    - platform.platform
    - jupyter_server.serverapp.ServerApp.init_webapp
    - jupyter_server.utils.url_path_join
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - jupyter_server.extension.manager.ExtensionManager.load_extension
    - traitlets.HasTraits.__init__
    - jupyter_server.serverapp.ServerApp.init_logging
    - traitlets.Dict.get
    - jupyter_server.serverapp.random_ports
    - <builtin>.sorted
    - os.path.exists
    - jupyter_server.serverapp.ServerApp.init_resources
    - jupyter_server.serverapp.ServerApp.init_ioloop
    - jupyter_server.serverapp.ServerWebApplication.init_handlers
    - jinja2.Environment
    - mimetypes.init
    - asyncio.set_event_loop_policy
    - jupyter_server.auth.identity.IdentityProvider.get_handlers
    - time.perf_counter
    - tornado.httpserver.HTTPServer
    - missing_authentication.append
    - tornado.ioloop.PeriodicCallback
    - root_dir.startswith
    - pathlib.Path
    - signal.signal
    - module._jupyter_server_extension_paths
    - target.pop
    - traitlets.Instance.register_event_schema
    - jupyter_core.application.JupyterApp.log.critical
    - jupyter_server.services.config.manager.ConfigManager.get
    - jupyter_events.logger.EventLogger.register_event_schema
    - jupyter_server.serverapp.load_handlers
    - sys.stdin.isatty
    - undecorated_methods.extend
    - json.load
    - prometheus_client.Gauge.set_function
    - jupyter_core.application.JupyterApp.update_config
    - module._jupyter_server_extension_points
    - jupyter_server.serverapp.ServerApp.init_mime_overrides
    - traitlets.config.LoggingConfigurable.log.debug
    - extension.link_all_points
    - <builtin>.len
    - schema_id.replace
    - repo_commit.strip
    - prometheus_client.Gauge.set
    - jupyter_server.extension.utils.get_metadata
    - jupyter_server.serverapp.ServerApp.init_httpserver
    - mimetypes.add_type
    - os.path.getsize
    - jupyter_server.serverapp.ServerWebApplication.init_settings
    - code.co_filename.replace
    - jupyter_server.serverapp.ServerApp.find_server_extensions
    - traitlets.config.LoggingConfigurable.log.warning
    - resource.getrlimit
    - jupyter_core.application.JupyterApp.log.warning
    - jupyter_server.serverapp.ServerWebApplication._check_handler_auth
    - handlers.extend
    - traitlets.Dict.values
    - traitlets.Type
    - re.compile
    - extensions.items
    - jenv_opt.update
    - prometheus_client.Info.info
    - traitlets.Type.validate_security
    - <builtin>.hasattr
    - extension.load_all_points
    - asyncio.WindowsSelectorEventLoopPolicy
    - gettext.translation
    - s.strip
    - jupyter_server.serverapp.ServerApp.init_metrics
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - tornado.netutil.bind_sockets
    - resource.setrlimit
    - subprocess.Popen
    - jupyter_server.serverapp.ServerApp.init_event_logger
    - pc.start
    - jupyter_server._sysinfo.pkg_commit_hash
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - jupyter_server.serverapp.ServerApp._find_http_port
    - traitlets.Dict.copy
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - traitlets.Dict.setdefault
    - jupyter_server.serverapp.ServerApp.init_signal
    - sys.exit
    - proc.communicate
    - jupyter_server.serverapp.ServerApp.init_shutdown_no_activity
    - traitlets.config.LoggingConfigurable.log.info
    - jinja2.Environment.install_gettext_translations
    - jupyter_server.extension.manager.ExtensionManager.load_all_extensions
    - os.path.dirname
    - <builtin>.issubclass
    - <builtin>.min
    - random.randint
    - jupyter_server.extension.manager.ExtensionManager.link_all_extensions
    - tornado.ioloop.IOLoop.current
    - handlers.append
    - jupyter_server.serverapp.ServerWebApplication.__init__
    - sys.platform.startswith
    - traitlets.config.LoggingConfigurable.log.critical
    - data.get
    - jupyter_server.extension.manager.ExtensionManager.link_extension
    - asyncio.get_event_loop_policy
    - jupyter_events.logger.EventLogger
    - jupyter_server._tz.utcnow
    - jupyter_server.serverapp.ServerApp.init_configurables
    - <builtin>.type
    - method_name.lower
    - traitlets.Dict.items
    - os.path.realpath
    - new.items
    - jupyter_server.serverapp.ServerApp.init_components
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - jupyter_core.application.JupyterApp.config.ServerApp.jpserver_extensions.update
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_server.auth.identity.LegacyIdentityProvider.validate_security
    - traitlets.Unicode.startswith
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - settings.update
    - jupyter_server._sysinfo.pkg_info
    - logging.getLogger
    - jupyter_server.serverapp._has_tornado_web_authenticated
    - traitlets.Dict.update
    - jupyter_server.serverapp.ServerApp.init_server_extensions
    - <builtin>.open
    - prometheus_client.Info.labels
    - traitlets.config.Config
    - traitlets.config.SingletonConfigurable.instance
    - datetime.datetime.now
    - os.path.join
    - jupyter_core.application.JupyterApp.log.debug
    - importlib.import_module
    - <builtin>.isinstance
    - <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: 1
    functionLinenumber: 3194
    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: 2845
    functionName: jupyter_server.serverapp.ServerApp.cleanup_kernels
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - trans.ngettext
    - <builtin>.getattr
    - jupyter_core.utils.ensure_async
    - <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: 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: 2
    functionLinenumber: 2860
    functionName: jupyter_server.serverapp.ServerApp.cleanup_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - <builtin>.dict
    - trans.ngettext
    - <builtin>.getattr
    - itertools.starmap
    - jupyter_server.extension.manager.ExtensionManager.stop_all_extensions
    - jupyter_core.utils.ensure_async
    - <builtin>.len
    - <builtin>.list
    - tornado.gen.multi
    - <builtin>.sorted
    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: 459
    functionName: jupyter_server.extension.manager.ExtensionManager.stop_all_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 3
    functionsReached:
    - <builtin>.dict
    - itertools.starmap
    - <builtin>.list
    - tornado.gen.multi
    - <builtin>.sorted
    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: 2890
    functionName: jupyter_server.serverapp.ServerApp.server_info
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - os.path.abspath
    - os.getpid
    - <builtin>.bool
    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: 2906
    functionName: jupyter_server.serverapp.ServerApp.write_server_info_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - os.getpid
    - <builtin>.bool
    - os.path.abspath
    - jupyter_core.application.JupyterApp.log.error
    - jupyter_core.paths.secure_write
    - json.dump
    - jupyter_server.serverapp.ServerApp.server_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: 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: 2914
    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: 2925
    functionName: jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - pathlib.Path
    - jupyter_core.application.JupyterApp.exit
    - jupyter_core.application.JupyterApp.log.critical
    - <builtin>.str
    - jupyter_core.application.JupyterApp.log.debug
    - combined_path.relative_to
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 2957
    functionName: jupyter_server.serverapp.ServerApp._write_browser_open_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 4
    functionsReached:
    - jupyter_server.utils.url_path_join
    - template.render
    - fh.write
    - tornado.httputil.url_concat
    - jinja2_env.get_template
    - 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: 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: 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: 2967
    functionName: jupyter_server.serverapp.ServerApp.write_browser_open_files
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - pathlib.Path
    - template.render
    - fh.write
    - jupyter_server.utils.url_escape
    - jupyter_core.application.JupyterApp.log.critical
    - <builtin>.str
    - combined_path.relative_to
    - jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir
    - file_to_run_relpath.split
    - jupyter_core.application.JupyterApp.exit
    - path.split
    - jinja2_env.get_template
    - <builtin>.len
    - jupyter_server.utils.url_path_join
    - jupyter_server.serverapp.ServerApp.write_browser_open_file
    - <builtin>.open
    - jupyter_server.serverapp.ServerApp._write_browser_open_file
    - tornado.httputil.url_concat
    - jupyter_core.application.JupyterApp.log.debug
    - urllib.parse.quote
    - s.strip
    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: 2988
    functionName: jupyter_server.serverapp.ServerApp.write_browser_open_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - jupyter_server.utils.url_path_join
    - template.render
    - fh.write
    - tornado.httputil.url_concat
    - <builtin>.open
    - jupyter_server.serverapp.ServerApp._write_browser_open_file
    - jinja2_env.get_template
    - <builtin>.len
    - 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: file_to_run_relpath.split
    functionSourceFile: <builtin>
    functionUses: 3
    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: 2999
    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: 3012
    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: 3023
    functionName: jupyter_server.serverapp.ServerApp._prepare_browser_open
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - urllib.request.pathname2url
    - jupyter_server.utils.url_path_join
    - urllib.parse.urljoin
    - tornado.httputil.url_concat
    - <builtin>.len
    - 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: 3046
    functionName: jupyter_server.serverapp.ServerApp.launch_browser
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - urllib.request.pathname2url
    - jupyter_server.utils.url_path_join
    - urllib.parse.urljoin
    - webbrowser.get
    - tornado.httputil.url_concat
    - jupyter_core.application.JupyterApp.log.warning
    - <builtin>.len
    - s.strip
    - jupyter_server.serverapp.ServerApp._prepare_browser_open
    - threading.Thread
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 3063
    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: 3069
    functionName: jupyter_server.serverapp.ServerApp.start_app
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - pathlib.Path
    - template.render
    - <builtin>.bool
    - fh.write
    - jupyter_server.utils.url_escape
    - webbrowser.get
    - jupyter_server.serverapp.ServerApp.write_browser_open_files
    - jupyter_core.application.JupyterApp.log.critical
    - <builtin>.str
    - combined_path.relative_to
    - urllib.parse.quote
    - jupyter_server.serverapp.ServerApp.launch_browser
    - jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir
    - file_to_run_relpath.split
    - jupyter_server.serverapp.ServerApp._prepare_browser_open
    - os.path.abspath
    - jupyter_core.application.JupyterApp.log.info
    - os.geteuid
    - jupyter_core.application.JupyterApp.exit
    - trans.ngettext
    - path.split
    - jinja2_env.get_template
    - <builtin>.len
    - jupyter_server.utils.url_path_join
    - urllib.parse.urljoin
    - typing.cast
    - jupyter_server.serverapp.ServerApp.write_browser_open_file
    - os.getpid
    - jupyter_server.serverapp.ServerApp.running_server_info
    - <builtin>.open
    - jupyter_core.application.JupyterApp.log.error
    - jupyter_server.serverapp.ServerApp._write_browser_open_file
    - jupyter_core.application.JupyterApp.log.warning
    - jupyter_core.paths.secure_write
    - jupyter_server.serverapp.ServerApp.write_server_info_file
    - urllib.request.pathname2url
    - tornado.httputil.url_concat
    - jupyter_core.application.JupyterApp.log.debug
    - <builtin>.super
    - json.dump
    - threading.Thread
    - s.strip
    - jupyter_server.serverapp.ServerApp.server_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: 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: 3
    functionLinenumber: 3152
    functionName: jupyter_server.serverapp.ServerApp._cleanup
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - jupyter_server.serverapp.ServerApp.remove_browser_open_files
    - jupyter_server.serverapp.ServerApp.cleanup_kernels
    - <builtin>.list
    - jupyter_core.application.JupyterApp.log.info
    - trans.ngettext
    - <builtin>.getattr
    - jupyter_server.serverapp.ServerApp.cleanup_extensions
    - jupyter_server.extension.manager.ExtensionManager.stop_all_extensions
    - itertools.starmap
    - <builtin>.len
    - jupyter_server.serverapp.ServerApp.remove_server_info_file
    - <builtin>.dict
    - jupyter_core.utils.ensure_async
    - os.unlink
    - <builtin>.sorted
    - <builtin>.hasattr
    - jupyter_server.serverapp.ServerApp.remove_browser_open_file
    - traitlets.Type.close_all
    - tornado.gen.multi
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 5
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3181
    functionName: jupyter_server.serverapp.ServerApp.start_ioloop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - pc.start
    - sys.platform.startswith
    - tornado.ioloop.PeriodicCallback
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 3
    functionLinenumber: 3198
    functionName: jupyter_server.serverapp.ServerApp._post_start
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - extension.start_all_points
    - jupyter_server.extension.manager.ExtensionManager.start_all_extensions
    - jupyter_server.extension.manager.ExtensionManager.start_extension
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_core.application.JupyterApp.log.error
    - traitlets.Dict.get
    - tornado.gen.multi
    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: 453
    functionName: jupyter_server.extension.manager.ExtensionManager.start_all_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 1
    functionsReached:
    - extension.start_all_points
    - jupyter_server.extension.manager.ExtensionManager.start_extension
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.Dict.get
    - tornado.gen.multi
    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: 3209
    functionName: jupyter_server.serverapp.ServerApp.start
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - pathlib.Path
    - template.render
    - <builtin>.bool
    - fh.write
    - jupyter_server.utils.url_escape
    - webbrowser.get
    - jupyter_server.serverapp.ServerApp.write_browser_open_files
    - jupyter_core.application.JupyterApp.log.critical
    - <builtin>.str
    - pc.start
    - combined_path.relative_to
    - jupyter_server.serverapp.ServerApp.launch_browser
    - urllib.parse.quote
    - jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir
    - threading.Thread
    - file_to_run_relpath.split
    - jupyter_server.serverapp.ServerApp._prepare_browser_open
    - os.path.abspath
    - jupyter_core.application.JupyterApp.log.info
    - os.geteuid
    - jupyter_core.application.JupyterApp.exit
    - trans.ngettext
    - path.split
    - jupyter_server.serverapp.ServerApp.start_app
    - jinja2_env.get_template
    - jupyter_server.serverapp.ServerApp.start_ioloop
    - <builtin>.len
    - jupyter_server.utils.url_path_join
    - urllib.parse.urljoin
    - typing.cast
    - jupyter_server.serverapp.ServerApp.write_browser_open_file
    - os.getpid
    - jupyter_server.serverapp.ServerApp.running_server_info
    - <builtin>.open
    - jupyter_server.serverapp.ServerApp._write_browser_open_file
    - jupyter_core.application.JupyterApp.log.warning
    - jupyter_core.application.JupyterApp.log.error
    - jupyter_core.paths.secure_write
    - jupyter_server.serverapp.ServerApp.write_server_info_file
    - sys.platform.startswith
    - urllib.request.pathname2url
    - tornado.httputil.url_concat
    - jupyter_core.application.JupyterApp.log.debug
    - <builtin>.super
    - tornado.ioloop.PeriodicCallback
    - json.dump
    - s.strip
    - jupyter_server.serverapp.ServerApp.server_info
    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: 3217
    functionName: jupyter_server.serverapp.ServerApp._stop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp.remove_browser_open_files
    - jupyter_server.serverapp.ServerApp.cleanup_kernels
    - <builtin>.list
    - jupyter_core.application.JupyterApp.log.info
    - trans.ngettext
    - <builtin>.getattr
    - jupyter_server.serverapp.ServerApp.cleanup_extensions
    - jupyter_server.extension.manager.ExtensionManager.stop_all_extensions
    - itertools.starmap
    - <builtin>.len
    - jupyter_server.serverapp.ServerApp.remove_server_info_file
    - <builtin>.dict
    - jupyter_core.utils.ensure_async
    - jupyter_server.serverapp.ServerApp._cleanup
    - os.unlink
    - <builtin>.sorted
    - <builtin>.hasattr
    - jupyter_server.serverapp.ServerApp.remove_browser_open_file
    - traitlets.Type.close_all
    - tornado.gen.multi
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 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: log.warning
    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: 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: 24
    functionName: jupyter_server.services.config.manager.ConfigManager.get
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 9
    functionsReached:
    - json.load
    - os.path.getsize
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - target.pop
    - traitlets.config.LoggingConfigurable.__init__
    - <builtin>.open
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.debug
    - glob.glob
    - <builtin>.isinstance
    - <builtin>.sorted
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - new.items
    - os.path.isfile
    - jupyter_server.config_manager.recursive_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: 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 0x7f34feb4b5e0>
    - <ast.Constant object at 0x7f34feb4b430>
    argNames:
    - self
    - name
    - section_name
    - include_root
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 20
    functionName: jupyter_server.extension.config.ExtensionConfigManager.enabled
    functionSourceFile: jupyter_server.extension.config
    functionUses: 0
    functionsReached:
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.services.config.manager.ConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - new.items
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - os.path.isfile
    - traitlets.config.LoggingConfigurable.__init__
    - json.load
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - traitlets.config.LoggingConfigurable.log.debug
    - glob.glob
    - os.path.getsize
    - <builtin>.open
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.sorted
    - os.path.join
    - data.get
    - <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
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 28
    functionName: jupyter_server.extension.config.ExtensionConfigManager.enable
    functionSourceFile: jupyter_server.extension.config
    functionUses: 1
    functionsReached:
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - <builtin>.list
    - new.items
    - json.dumps
    - data.items
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - os.path.isfile
    - json.load
    - jupyter_server.config_manager.remove_defaults
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - traitlets.Instance.update
    - traitlets.config.LoggingConfigurable.log.debug
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - os.path.getsize
    - <builtin>.open
    - traitlets.config.LoggingConfigurable.log.warning
    - copy.deepcopy
    - <builtin>.sorted
    - os.makedirs
    - os.path.join
    - <builtin>.isinstance
    - jupyter_server.services.config.manager.ConfigManager.update
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - f.write
    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: 37
    functionName: jupyter_server.services.config.manager.ConfigManager.update
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 3
    functionsReached:
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - <builtin>.list
    - new.items
    - json.dumps
    - data.items
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - os.path.isfile
    - json.load
    - jupyter_server.config_manager.remove_defaults
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - traitlets.Instance.update
    - traitlets.config.LoggingConfigurable.log.debug
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - os.path.getsize
    - <builtin>.open
    - traitlets.config.LoggingConfigurable.log.warning
    - copy.deepcopy
    - <builtin>.sorted
    - os.makedirs
    - os.path.join
    - <builtin>.isinstance
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - f.write
    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: 33
    functionName: jupyter_server.extension.config.ExtensionConfigManager.disable
    functionSourceFile: jupyter_server.extension.config
    functionUses: 1
    functionsReached:
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - <builtin>.list
    - new.items
    - json.dumps
    - data.items
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - os.path.isfile
    - json.load
    - jupyter_server.config_manager.remove_defaults
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - traitlets.Instance.update
    - traitlets.config.LoggingConfigurable.log.debug
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - os.path.getsize
    - <builtin>.open
    - traitlets.config.LoggingConfigurable.log.warning
    - copy.deepcopy
    - <builtin>.sorted
    - os.makedirs
    - os.path.join
    - <builtin>.isinstance
    - jupyter_server.services.config.manager.ConfigManager.update
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - f.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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.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.Unicode.tag
    - traitlets.Instance
    - traitlets.Unicode
    - traitlets.List
    - traitlets.observe
    - traitlets.default
    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 0x7f34ff024df0>
    argNames:
    - self
    - section_name
    - include_root
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 80
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.get
    functionSourceFile: jupyter_server.config_manager
    functionUses: 18
    functionsReached:
    - json.load
    - os.path.getsize
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - target.pop
    - os.path.join
    - <builtin>.open
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.sorted
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.isinstance
    - glob.glob
    - new.items
    - os.path.isfile
    - jupyter_server.config_manager.recursive_update
    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: 20
    functionName: jupyter_server.config_manager.recursive_update
    functionSourceFile: jupyter_server.config_manager
    functionUses: 19
    functionsReached:
    - <builtin>.isinstance
    - target.pop
    - jupyter_server.config_manager.recursive_update
    - 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: 33
    functionName: jupyter_server.services.config.manager.ConfigManager.set
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - traitlets.Instance.set
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - <builtin>.list
    - new.items
    - json.dumps
    - data.items
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - os.path.isfile
    - json.load
    - jupyter_server.config_manager.remove_defaults
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - traitlets.config.LoggingConfigurable.log.debug
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - os.path.getsize
    - <builtin>.open
    - traitlets.config.LoggingConfigurable.log.warning
    - copy.deepcopy
    - <builtin>.sorted
    - os.makedirs
    - os.path.join
    - <builtin>.isinstance
    - f.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 113
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.set
    functionSourceFile: jupyter_server.config_manager
    functionUses: 7
    functionsReached:
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - <builtin>.list
    - new.items
    - json.dumps
    - data.items
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - os.path.isfile
    - json.load
    - jupyter_server.config_manager.remove_defaults
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - traitlets.config.LoggingConfigurable.log.debug
    - glob.glob
    - os.path.getsize
    - <builtin>.open
    - traitlets.config.LoggingConfigurable.log.warning
    - copy.deepcopy
    - <builtin>.sorted
    - os.makedirs
    - os.path.join
    - <builtin>.isinstance
    - f.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.update
    functionSourceFile: traitlets
    functionUses: 4
    functionsReached: []
    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: 130
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.update
    functionSourceFile: jupyter_server.config_manager
    functionUses: 5
    functionsReached:
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - <builtin>.list
    - new.items
    - json.dumps
    - data.items
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - os.path.isfile
    - json.load
    - jupyter_server.config_manager.remove_defaults
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - traitlets.config.LoggingConfigurable.log.debug
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - os.path.getsize
    - <builtin>.open
    - traitlets.config.LoggingConfigurable.log.warning
    - copy.deepcopy
    - <builtin>.sorted
    - os.makedirs
    - os.path.join
    - <builtin>.isinstance
    - f.write
    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: 46
    functionName: jupyter_server.services.config.manager.ConfigManager._default_read_config_path
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_config_path
    - 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: 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: 52
    functionName: jupyter_server.services.config.manager.ConfigManager._default_write_config_dir
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_config_dir
    - 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: 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: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 58
    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: 62
    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: 41
    functionName: jupyter_server.config_manager.remove_defaults
    functionSourceFile: jupyter_server.config_manager
    functionUses: 8
    functionsReached:
    - jupyter_server.config_manager.remove_defaults
    - <builtin>.isinstance
    - data.items
    - <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: 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.Bool
    - traitlets.traitlets.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.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: 64
    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: 72
    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: 76
    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: glob.glob
    functionSourceFile: glob
    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: traitlets.config.LoggingConfigurable.log.debug
    functionSourceFile: traitlets
    functionUses: 109
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.getsize
    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: traitlets.config.LoggingConfigurable.log.warning
    functionSourceFile: traitlets
    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: 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: 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
    - traitlets.Bool
    - traitlets.Unicode
    - traitlets.List
    - traitlets.Dict
    - traitlets.Any
    - traitlets.default
    - traitlets.Instance.tag
    - traitlets.Type
    - 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: 2
    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: 68
    functionName: jupyter_server.services.contents.manager.ContentsManager._default_event_logger
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - jupyter_events.EventLogger
    - <builtin>.hasattr
    - jupyter_events.EventLogger.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.EventLogger
    functionSourceFile: jupyter_events
    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_events.EventLogger.register_event_schema
    functionSourceFile: jupyter_events
    functionUses: 3
    functionsReached: []
    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: 78
    functionName: jupyter_server.services.contents.manager.ContentsManager.emit
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 93
    functionName: jupyter_server.services.contents.manager.ContentsManager._validate_preferred_dir
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - inspect.iscoroutinefunction
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.lstat
    - os.path.normpath
    - os.path.splitdrive
    - os.path.join
    - path.strip
    - jupyter_server.utils.to_os_path
    - <builtin>.str
    - value.split
    - os.path.isdir
    - jupyter_core.utils.run_sync
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - 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: inspect.iscoroutinefunction
    functionSourceFile: inspect
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 1079
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 13
    functionsReached:
    - os.lstat
    - os.path.normpath
    - os.path.splitdrive
    - path.strip
    - jupyter_server.utils.to_os_path
    - os.path.join
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - 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: 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: 119
    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: 177
    functionName: jupyter_server.services.contents.manager.ContentsManager._validate_pre_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    - <builtin>.__import__
    - warnings.warn
    - <builtin>.getattr
    - traitlets.Any.rsplit
    - jupyter_server.utils.import_item
    - <builtin>.len
    - <builtin>.isinstance
    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: 213
    functionName: jupyter_server.services.contents.manager.ContentsManager._validate_post_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    - <builtin>.__import__
    - warnings.warn
    - <builtin>.getattr
    - traitlets.Any.rsplit
    - jupyter_server.utils.import_item
    - <builtin>.len
    - <builtin>.isinstance
    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: 227
    functionName: jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    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: 247
    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: 266
    functionName: jupyter_server.services.contents.manager.ContentsManager.register_pre_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.config.configurable.LoggingConfigurable._pre_save_hooks.append
    - <builtin>.callable
    - <builtin>.__import__
    - <builtin>.getattr
    - traitlets.Any.rsplit
    - jupyter_server.utils.import_item
    - <builtin>.len
    - <builtin>.isinstance
    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.configurable.LoggingConfigurable._pre_save_hooks.append
    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
    - hook
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 275
    functionName: jupyter_server.services.contents.manager.ContentsManager.register_post_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    - <builtin>.__import__
    - <builtin>.getattr
    - traitlets.Any.rsplit
    - jupyter_server.utils.import_item
    - <builtin>.len
    - <builtin>.isinstance
    - traitlets.config.configurable.LoggingConfigurable._post_save_hooks.append
    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.configurable.LoggingConfigurable._post_save_hooks.append
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    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: 284
    functionName: jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 10
    functionsReached: []
    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: 306
    functionName: jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - HTTPError
    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: 328
    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: 332
    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: 364
    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: 377
    functionName: jupyter_server.services.contents.manager.ContentsManager.dir_exists
    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: 396
    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 0x7f34fef297f0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 413
    functionName: jupyter_server.services.contents.manager.ContentsManager.file_exists
    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: 4
    functionLinenumber: 432
    functionName: jupyter_server.services.contents.manager.ContentsManager.exists
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 3
    functionsReached:
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.lstat
    - os.path.normpath
    - os.path.splitdrive
    - path.strip
    - jupyter_server.utils.to_os_path
    - os.path.join
    - <builtin>.str
    - os.path.isdir
    - os.path.isfile
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - os.path.abspath
    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: 1085
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 8
    functionsReached:
    - os.lstat
    - os.path.normpath
    - os.path.splitdrive
    - path.strip
    - jupyter_server.utils.to_os_path
    - os.path.join
    - <builtin>.str
    - os.path.isfile
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - os.path.abspath
    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 0x7f34ffd1f520>
    - <ast.Constant object at 0x7f34ffd1f340>
    - <ast.Constant object at 0x7f34ffd1ffa0>
    - <ast.Constant object at 0x7f34ffd1f5e0>
    argNames:
    - self
    - path
    - content
    - type
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 449
    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: 461
    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: 471
    functionName: jupyter_server.services.contents.manager.ContentsManager.delete_file
    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: 3
    argDefaultValues: []
    argNames:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 475
    functionName: jupyter_server.services.contents.manager.ContentsManager.rename_file
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    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: 482
    functionName: jupyter_server.services.contents.manager.ContentsManager.delete
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - os.lstat
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - os.path.isdir
    - <builtin>.str
    - send2trash.send2trash
    - os.path.abspath
    - <builtin>.getattr
    - path.strip
    - <builtin>.len
    - os.access
    - typing.NewType
    - os.path.splitdrive
    - os_path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    - <builtin>.set
    - traitlets.Instance.delete_all_checkpoints
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 7
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 995
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 2
    functionsReached:
    - os.lstat
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - os.path.isdir
    - <builtin>.str
    - send2trash.send2trash
    - os.path.abspath
    - <builtin>.getattr
    - path.strip
    - <builtin>.len
    - os.access
    - typing.NewType
    - os.path.splitdrive
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    - <builtin>.set
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_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: 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: 491
    functionName: jupyter_server.services.contents.manager.ContentsManager.rename
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - os.lstat
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - <builtin>.str
    - traitlets.Instance.rename_all_checkpoints
    - old_path.strip
    - os.stat
    - os.path.abspath
    - other_path.lower
    - os.path.samefile
    - path.strip
    - <builtin>.len
    - typing.NewType
    - os.path.splitdrive
    - os_path.strip
    - path.lower
    - jupyter_server.utils.samefile_simple
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os.path.normpath
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    - new_path.strip
    - os_path.startswith
    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: 1049
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 4
    functionsReached:
    - os.lstat
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - <builtin>.str
    - os.path.abspath
    - old_path.strip
    - os.stat
    - other_path.lower
    - os.path.samefile
    - path.strip
    - <builtin>.len
    - typing.NewType
    - os.path.splitdrive
    - os_path.strip
    - path.lower
    - jupyter_server.utils.samefile_simple
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os.path.normpath
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - new_path.strip
    - os_path.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: 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: 6
    functionLinenumber: 497
    functionName: jupyter_server.services.contents.manager.ContentsManager.update
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - <builtin>.str
    - jupyter_server.services.contents.fileio.async_replace_file
    - os.path.isdir
    - <builtin>.any
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - base64.encodebytes
    - path.rsplit
    - datetime.datetime
    - functools.partial
    - traitlets.Instance.rename_all_checkpoints
    - json.dumps
    - os.path.isfile
    - os.path.abspath
    - old_path.strip
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.get
    - model.get
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - path.lower
    - os_path.strip
    - os.path.exists
    - os.path.normpath
    - fnmatch.fnmatch
    - os.lstat
    - h.update
    - traitlets.Instance.mark_cells
    - anyio.to_thread.run_sync
    - model.update
    - os.stat
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.validate
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - new_path.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - contents.append
    - os.path.split
    - mimetypes.guess_type
    - jupyter_server.services.contents.manager.ContentsManager.rename
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISDIR
    - other_path.lower
    - os.path.samefile
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - stat.S_ISLNK
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - h.hexdigest
    - jupyter_core.paths.is_file_hidden
    - base64.encodebytes.decode
    - stat.S_ISREG
    - os.path.splitdrive
    - jupyter_server.utils.samefile_simple
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    - <builtin>.isinstance
    - os_path.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: model.get
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f34ff18c8b0>
    - <ast.Constant object at 0x7f34ff18cc70>
    - <ast.Constant object at 0x7f34ff18c730>
    - <ast.Constant object at 0x7f34ff18c0a0>
    argNames:
    - self
    - path
    - content
    - type
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 885
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 21
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - os.lstat
    - contents.append
    - os.path.split
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - h.update
    - traitlets.Instance.mark_cells
    - mimetypes.guess_type
    - anyio.to_thread.run_sync
    - <builtin>.str
    - os.path.isdir
    - model.update
    - base64.encodebytes
    - <builtin>.any
    - path.rsplit
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.async_replace_file
    - validation_error.get
    - datetime.datetime
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - json.dumps
    - os.path.isfile
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - functools.partial
    - h.hexdigest
    - stat.S_ISDIR
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - path.endswith
    - jupyter_core.paths.is_file_hidden
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - base64.encodebytes.decode
    - nbformat.validate
    - <builtin>.len
    - jupyter_server.services.contents.fileio.path_to_invalid
    - hashlib.new
    - os.access
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - stat.S_ISREG
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - typing.NewType
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - os.path.splitdrive
    - stat.S_ISLNK
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.isinstance
    - os_path.startswith
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - fnmatch.fnmatch
    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: 510
    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 0x7f34fececa00>
    argNames:
    - self
    - path
    - model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 514
    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 0x7f34fecec340>
    - <ast.Constant object at 0x7f34fecec430>
    argNames:
    - self
    - filename
    - path
    - insert
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 526
    functionName: jupyter_server.services.contents.manager.ContentsManager.increment_filename
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 2
    functionsReached:
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.lstat
    - os.path.normpath
    - os.path.splitdrive
    - traitlets.Unicode.partition
    - path.strip
    - itertools.count
    - jupyter_server.utils.to_os_path
    - <builtin>.str
    - os.path.join
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.exists
    - os.path.isfile
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - traitlets.Unicode.rpartition
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - 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: traitlets.Unicode.rpartition
    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.Unicode.partition
    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: itertools.count
    functionSourceFile: itertools
    functionUses: 6
    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 0x7f34ffd2f370>
    argNames:
    - self
    - model
    - validation_error
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 558
    functionName: jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 24
    functionsReached:
    - nbformat.validate
    - <builtin>.str
    - <builtin>.isinstance
    - validation_error.get
    - 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: 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 0x7f34ff6a4160>
    - <ast.Constant object at 0x7f34ff6a4100>
    - <ast.Constant object at 0x7f34ff6a4250>
    argNames:
    - self
    - path
    - type
    - ext
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 579
    functionName: jupyter_server.services.contents.manager.ContentsManager.new_untitled
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - itertools.count
    - <builtin>.str
    - <builtin>.any
    - os.path.isdir
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - path.rsplit
    - datetime.datetime
    - functools.partial
    - json.dumps
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - os.path.abspath
    - os.path.isfile
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.increment_filename
    - base64.b64decode
    - model.get
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - nbformat.from_dict
    - os.path.exists
    - os.path.normpath
    - traitlets.Unicode.partition
    - fnmatch.fnmatch
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.lstat
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - h.update
    - traitlets.Instance.mark_cells
    - anyio.to_thread.run_sync
    - model.update
    - model.setdefault
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.validate
    - traitlets.Instance.create_checkpoint
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.new
    - traitlets.Instance.sign
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - base64.decodebytes
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio._simple_writing
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - os.path.islink
    - contents.append
    - os.path.split
    - mimetypes.guess_type
    - traitlets.Instance.check_cells
    - nbformat.v4.new_notebook.encode
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISDIR
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - os.path.dirname
    - stat.S_ISLNK
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.readlink
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.utils.to_api_path
    - nbformat.v4.new_notebook
    - h.hexdigest
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_core.paths.is_file_hidden
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.exists
    - stat.S_ISREG
    - traitlets.Unicode.rpartition
    - os.path.splitdrive
    - fileobj.close
    - <builtin>.open
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - traitlets.Instance.list_checkpoints
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - os.path.join
    - <builtin>.isinstance
    - jupyter_server.services.contents.manager.ContentsManager.save
    - <builtin>.super
    - os_path.startswith
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    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: 4
    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 0x7f34feda8a60>
    - <ast.Constant object at 0x7f34feda89a0>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 617
    functionName: jupyter_server.services.contents.manager.ContentsManager.new
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - <builtin>.str
    - jupyter_server.services.contents.fileio.async_replace_file
    - os.path.isdir
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - <builtin>.any
    - path.rsplit
    - datetime.datetime
    - functools.partial
    - json.dumps
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - os.path.abspath
    - os.path.isfile
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - base64.b64decode
    - model.get
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - nbformat.from_dict
    - os.path.exists
    - os.path.normpath
    - fnmatch.fnmatch
    - os.lstat
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - h.update
    - traitlets.Instance.mark_cells
    - anyio.to_thread.run_sync
    - model.update
    - model.setdefault
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.validate
    - traitlets.Instance.create_checkpoint
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - traitlets.Instance.sign
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - base64.decodebytes
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio._simple_writing
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - os.path.islink
    - os.path.split
    - contents.append
    - mimetypes.guess_type
    - traitlets.Instance.check_cells
    - nbformat.v4.new_notebook.encode
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISDIR
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - os.path.dirname
    - stat.S_ISLNK
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.readlink
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.utils.to_api_path
    - nbformat.v4.new_notebook
    - h.hexdigest
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_core.paths.is_file_hidden
    - base64.encodebytes.decode
    - stat.S_ISREG
    - os.path.splitdrive
    - fileobj.close
    - <builtin>.open
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - traitlets.Instance.list_checkpoints
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - os.path.join
    - <builtin>.isinstance
    - jupyter_server.services.contents.manager.ContentsManager.save
    - <builtin>.super
    - os_path.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: path.endswith
    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: nbformat.v4.new_notebook
    functionSourceFile: nbformat
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 12
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f34ff39aee0>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 946
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 6
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - <builtin>.str
    - jupyter_server.services.contents.fileio.async_replace_file
    - os.path.isdir
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - <builtin>.any
    - path.rsplit
    - datetime.datetime
    - json.dumps
    - functools.partial
    - os.path.isfile
    - os.path.abspath
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - model.get
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - nbformat.from_dict
    - os.path.exists
    - os.path.normpath
    - fnmatch.fnmatch
    - os.lstat
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - h.update
    - traitlets.Instance.mark_cells
    - anyio.to_thread.run_sync
    - model.update
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.validate
    - traitlets.Instance.create_checkpoint
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - traitlets.Instance.sign
    - base64.decodebytes
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio._simple_writing
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - os.path.islink
    - os.path.split
    - contents.append
    - mimetypes.guess_type
    - traitlets.Instance.check_cells
    - nbformat.v4.new_notebook.encode
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISDIR
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - os.path.dirname
    - stat.S_ISLNK
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.readlink
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.utils.to_api_path
    - h.hexdigest
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_core.paths.is_file_hidden
    - base64.encodebytes.decode
    - stat.S_ISREG
    - os.path.splitdrive
    - fileobj.close
    - <builtin>.open
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - traitlets.Instance.list_checkpoints
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.join
    - <builtin>.isinstance
    - os_path.startswith
    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 0x7f34feb33f10>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 88
    functionName: jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    functionSourceFile: jupyter_server.services.contents.largefilemanager
    functionUses: 6
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - <builtin>.str
    - <builtin>.any
    - os.path.isdir
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.fileio.async_replace_file
    - path.rsplit
    - datetime.datetime
    - json.dumps
    - functools.partial
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - os.path.isfile
    - os.path.abspath
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - base64.b64decode
    - model.get
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - os.path.exists
    - os.path.normpath
    - fnmatch.fnmatch
    - os.lstat
    - h.update
    - traitlets.Instance.mark_cells
    - anyio.to_thread.run_sync
    - model.update
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.validate
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - contents.append
    - os.path.split
    - os.path.islink
    - mimetypes.guess_type
    - nbformat.v4.new_notebook.encode
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISDIR
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - os.path.dirname
    - stat.S_ISLNK
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.readlink
    - jupyter_server.utils.to_api_path
    - h.hexdigest
    - jupyter_core.paths.is_file_hidden
    - base64.encodebytes.decode
    - stat.S_ISREG
    - os.path.splitdrive
    - <builtin>.open
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.join
    - <builtin>.isinstance
    - <builtin>.super
    - os_path.startswith
    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 0x7f34fe9f2f40>
    argNames:
    - self
    - from_path
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 644
    functionName: jupyter_server.services.contents.manager.ContentsManager.copy
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - itertools.count
    - <builtin>.str
    - <builtin>.any
    - os.path.isdir
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - path.rsplit
    - datetime.datetime
    - functools.partial
    - json.dumps
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - os.path.abspath
    - os.path.isfile
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.increment_filename
    - base64.b64decode
    - jupyter_server.services.contents.manager.ContentsManager.get
    - model.get
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - model.pop
    - nbformat.from_dict
    - os.path.exists
    - os.path.normpath
    - traitlets.Unicode.partition
    - fnmatch.fnmatch
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.lstat
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - h.update
    - traitlets.Instance.mark_cells
    - anyio.to_thread.run_sync
    - model.update
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.validate
    - traitlets.Instance.create_checkpoint
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - traitlets.Instance.sign
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - base64.decodebytes
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - from_path.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio._simple_writing
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - os.path.islink
    - contents.append
    - os.path.split
    - mimetypes.guess_type
    - traitlets.Instance.check_cells
    - nbformat.v4.new_notebook.encode
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISDIR
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - os.path.dirname
    - stat.S_ISLNK
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - to_path.strip
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.readlink
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.utils.to_api_path
    - copy_pat.sub
    - h.hexdigest
    - to_path.rsplit
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_core.paths.is_file_hidden
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.exists
    - stat.S_ISREG
    - traitlets.Unicode.rpartition
    - os.path.splitdrive
    - fileobj.close
    - <builtin>.open
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - traitlets.Instance.list_checkpoints
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - os.path.join
    - <builtin>.isinstance
    - jupyter_server.services.contents.manager.ContentsManager.save
    - <builtin>.super
    - os_path.startswith
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    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: 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: 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: 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: copy_pat.sub
    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: to_path.rsplit
    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: 690
    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: 8
    functionLinenumber: 694
    functionName: jupyter_server.services.contents.manager.ContentsManager.trust_notebook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - os.lstat
    - contents.append
    - os.path.split
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - traitlets.Instance.mark_cells
    - h.update
    - mimetypes.guess_type
    - anyio.to_thread.run_sync
    - <builtin>.str
    - os.path.isdir
    - traitlets.Instance.check_cells
    - model.update
    - base64.encodebytes
    - path.rsplit
    - <builtin>.any
    - jupyter_server.utils.to_api_path
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - datetime.datetime
    - bcontent.decode
    - json.dumps
    - os.path.isfile
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - functools.partial
    - h.hexdigest
    - stat.S_ISDIR
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - path.endswith
    - jupyter_core.paths.is_file_hidden
    - path.strip
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - base64.encodebytes.decode
    - nbformat.validate
    - <builtin>.len
    - jupyter_server.services.contents.fileio.path_to_invalid
    - jupyter_server.services.contents.manager.ContentsManager.get
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os.access
    - stat.S_ISREG
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.fileio.async_replace_file
    - typing.NewType
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - traitlets.Instance.sign
    - os.path.splitdrive
    - stat.S_ISLNK
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - os.path.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.isinstance
    - os_path.startswith
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - 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: traitlets.Instance.mark_cells
    functionSourceFile: traitlets
    functionUses: 25
    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 0x7f34fef04fd0>
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 708
    functionName: jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 10
    functionsReached:
    - traitlets.Instance.check_cells
    - traitlets.Instance.sign
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: traitlets.Instance.sign
    functionSourceFile: traitlets
    functionUses: 11
    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 0x7f34ff6fa9d0>
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 725
    functionName: jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 24
    functionsReached:
    - traitlets.Instance.mark_cells
    - traitlets.Instance.check_signature
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 742
    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: fnmatch.fnmatch
    functionSourceFile: fnmatch
    functionUses: 23
    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: 747
    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: traitlets.Instance.create_checkpoint
    functionSourceFile: traitlets
    functionUses: 10
    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: 751
    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: 757
    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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.list_checkpoints
    functionSourceFile: traitlets
    functionUses: 10
    functionsReached: []
    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: 760
    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.default
    - traitlets.Type
    - 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: 772
    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: 776
    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: 785
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    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: 804
    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 0x7f34ff4125e0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 821
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.file_exists
    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: 4
    functionLinenumber: 840
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.exists
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 3
    functionsReached:
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.lstat
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_core.utils.ensure_async
    - path.strip
    - jupyter_server.utils.to_os_path
    - os.path.join
    - <builtin>.str
    - os.path.isdir
    - os.path.isfile
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - os.path.abspath
    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 0x7f34ffd5ef70>
    - <ast.Constant object at 0x7f34ffd5e880>
    - <ast.Constant object at 0x7f34ffd5ed30>
    - <ast.Constant object at 0x7f34ffd5e7c0>
    argNames:
    - self
    - path
    - content
    - type
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 859
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.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: 871
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.save
    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: 881
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.delete_file
    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: 3
    argDefaultValues: []
    argNames:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 885
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.rename_file
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    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: 892
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.delete
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - os.lstat
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - os.path.isdir
    - <builtin>.str
    - send2trash.send2trash
    - os.path.abspath
    - <builtin>.getattr
    - path.strip
    - <builtin>.len
    - os.access
    - typing.NewType
    - os.path.splitdrive
    - os_path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    - <builtin>.set
    - traitlets.Instance.delete_all_checkpoints
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir
    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: 902
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.rename
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - os.lstat
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - <builtin>.str
    - traitlets.Instance.rename_all_checkpoints
    - old_path.strip
    - os.stat
    - os.path.abspath
    - other_path.lower
    - os.path.samefile
    - path.strip
    - <builtin>.len
    - typing.NewType
    - os.path.splitdrive
    - os_path.strip
    - path.lower
    - jupyter_server.utils.samefile_simple
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os.path.normpath
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    - new_path.strip
    - os_path.startswith
    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: 6
    functionLinenumber: 908
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.update
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - <builtin>.str
    - <builtin>.any
    - os.path.isdir
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.fileio.async_replace_file
    - path.rsplit
    - datetime.datetime
    - json.dumps
    - traitlets.Instance.rename_all_checkpoints
    - functools.partial
    - os.path.isfile
    - old_path.strip
    - os.path.abspath
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - model.get
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - path.lower
    - os.path.exists
    - os.path.normpath
    - fnmatch.fnmatch
    - os.lstat
    - h.update
    - traitlets.Instance.mark_cells
    - anyio.to_thread.run_sync
    - model.update
    - jupyter_server.services.contents.manager.AsyncContentsManager.rename
    - os.stat
    - jupyter_server.services.contents.manager.AsyncContentsManager.get
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.validate
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - new_path.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - contents.append
    - os.path.split
    - mimetypes.guess_type
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISDIR
    - other_path.lower
    - os.path.samefile
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - stat.S_ISLNK
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - h.hexdigest
    - jupyter_core.paths.is_file_hidden
    - base64.encodebytes.decode
    - stat.S_ISREG
    - os.path.splitdrive
    - jupyter_server.utils.samefile_simple
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    - <builtin>.isinstance
    - os_path.startswith
    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 0x7f34fea7c070>
    - <ast.Constant object at 0x7f34fea7cbe0>
    argNames:
    - self
    - filename
    - path
    - insert
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 921
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 2
    functionsReached:
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.lstat
    - itertools.count
    - <builtin>.str
    - os.path.isdir
    - os.path.isfile
    - os.path.abspath
    - path.strip
    - traitlets.Unicode.rpartition
    - typing.NewType
    - os.path.splitdrive
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - jupyter_server.services.contents.manager.AsyncContentsManager.exists
    - traitlets.Unicode.partition
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    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 0x7f34ff01aaf0>
    - <ast.Constant object at 0x7f34ff01a190>
    - <ast.Constant object at 0x7f34ff01aa90>
    argNames:
    - self
    - path
    - type
    - ext
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 954
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.new_untitled
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - itertools.count
    - <builtin>.str
    - <builtin>.any
    - os.path.isdir
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - path.rsplit
    - datetime.datetime
    - functools.partial
    - json.dumps
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - os.path.abspath
    - os.path.isfile
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - base64.b64decode
    - model.get
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - nbformat.from_dict
    - os.path.exists
    - os.path.normpath
    - traitlets.Unicode.partition
    - fnmatch.fnmatch
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.lstat
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - h.update
    - traitlets.Instance.mark_cells
    - anyio.to_thread.run_sync
    - model.update
    - model.setdefault
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.validate
    - traitlets.Instance.create_checkpoint
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - traitlets.Instance.sign
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - jupyter_core.utils.ensure_async
    - base64.decodebytes
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.AsyncContentsManager.exists
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio._simple_writing
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - os.path.islink
    - contents.append
    - os.path.split
    - mimetypes.guess_type
    - traitlets.Instance.check_cells
    - nbformat.v4.new_notebook.encode
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISDIR
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - os.path.dirname
    - stat.S_ISLNK
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.readlink
    - jupyter_server.services.contents.manager.AsyncContentsManager.new
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.utils.to_api_path
    - nbformat.v4.new_notebook
    - h.hexdigest
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_core.paths.is_file_hidden
    - base64.encodebytes.decode
    - stat.S_ISREG
    - traitlets.Unicode.rpartition
    - os.path.splitdrive
    - fileobj.close
    - <builtin>.open
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - traitlets.Instance.list_checkpoints
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - os.path.join
    - <builtin>.isinstance
    - <builtin>.super
    - os_path.startswith
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    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 0x7f34fe754d00>
    - <ast.Constant object at 0x7f34fe754970>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 993
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.new
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - <builtin>.str
    - <builtin>.any
    - os.path.isdir
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - path.rsplit
    - datetime.datetime
    - functools.partial
    - json.dumps
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - os.path.abspath
    - os.path.isfile
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - base64.b64decode
    - model.get
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - nbformat.from_dict
    - os.path.exists
    - os.path.normpath
    - fnmatch.fnmatch
    - os.lstat
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - h.update
    - traitlets.Instance.mark_cells
    - anyio.to_thread.run_sync
    - model.update
    - model.setdefault
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.validate
    - traitlets.Instance.create_checkpoint
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - traitlets.Instance.sign
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - base64.decodebytes
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio._simple_writing
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - os.path.islink
    - contents.append
    - os.path.split
    - mimetypes.guess_type
    - traitlets.Instance.check_cells
    - nbformat.v4.new_notebook.encode
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISDIR
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - os.path.dirname
    - stat.S_ISLNK
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.readlink
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.utils.to_api_path
    - nbformat.v4.new_notebook
    - h.hexdigest
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_core.paths.is_file_hidden
    - base64.encodebytes.decode
    - stat.S_ISREG
    - os.path.splitdrive
    - fileobj.close
    - <builtin>.open
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - traitlets.Instance.list_checkpoints
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - os.path.join
    - <builtin>.isinstance
    - <builtin>.super
    - os_path.startswith
    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 0x7f34ffd01f40>
    argNames:
    - self
    - from_path
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1020
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.copy
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - itertools.count
    - <builtin>.str
    - <builtin>.any
    - os.path.isdir
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - path.rsplit
    - datetime.datetime
    - functools.partial
    - json.dumps
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - os.path.abspath
    - os.path.isfile
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - base64.b64decode
    - model.get
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - model.pop
    - nbformat.from_dict
    - os.path.exists
    - os.path.normpath
    - traitlets.Unicode.partition
    - fnmatch.fnmatch
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.lstat
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - h.update
    - traitlets.Instance.mark_cells
    - anyio.to_thread.run_sync
    - model.update
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.manager.AsyncContentsManager.get
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.validate
    - traitlets.Instance.create_checkpoint
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - traitlets.Instance.sign
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - jupyter_core.utils.ensure_async
    - base64.decodebytes
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.AsyncContentsManager.exists
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - traitlets.config.configurable.LoggingConfigurable.strip
    - jupyter_server.services.contents.fileio._simple_writing
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - os.path.islink
    - contents.append
    - os.path.split
    - mimetypes.guess_type
    - traitlets.Instance.check_cells
    - nbformat.v4.new_notebook.encode
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISDIR
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - os.path.dirname
    - stat.S_ISLNK
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - to_path.strip
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.readlink
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.utils.to_api_path
    - copy_pat.sub
    - h.hexdigest
    - to_path.rsplit
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_core.paths.is_file_hidden
    - base64.encodebytes.decode
    - stat.S_ISREG
    - traitlets.Unicode.rpartition
    - os.path.splitdrive
    - fileobj.close
    - <builtin>.open
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - traitlets.Instance.list_checkpoints
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - os.path.join
    - <builtin>.isinstance
    - <builtin>.super
    - os_path.startswith
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    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.config.configurable.LoggingConfigurable.strip
    functionSourceFile: traitlets
    functionUses: 4
    functionsReached: []
    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: 8
    functionLinenumber: 1066
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.trust_notebook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - os.lstat
    - contents.append
    - os.path.split
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - traitlets.Instance.mark_cells
    - h.update
    - mimetypes.guess_type
    - anyio.to_thread.run_sync
    - <builtin>.str
    - os.path.isdir
    - traitlets.Instance.check_cells
    - model.update
    - base64.encodebytes
    - path.rsplit
    - <builtin>.any
    - jupyter_server.utils.to_api_path
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - datetime.datetime
    - bcontent.decode
    - json.dumps
    - os.path.isfile
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - functools.partial
    - h.hexdigest
    - jupyter_server.services.contents.manager.AsyncContentsManager.get
    - stat.S_ISDIR
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - path.endswith
    - jupyter_core.paths.is_file_hidden
    - path.strip
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - base64.encodebytes.decode
    - nbformat.validate
    - <builtin>.len
    - jupyter_server.services.contents.fileio.path_to_invalid
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os.access
    - stat.S_ISREG
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.fileio.async_replace_file
    - typing.NewType
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - traitlets.Instance.sign
    - os.path.splitdrive
    - stat.S_ISLNK
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - os.path.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.isinstance
    - os_path.startswith
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - fnmatch.fnmatch
    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: 1081
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 7
    functionsReached:
    - traitlets.Instance.create_checkpoint
    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: 1085
    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: 1091
    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: 1095
    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: 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: 35
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.files.handlers.FilesHandler
    functionSourceFile: jupyter_server.files.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    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: 43
    functionName: jupyter_server.files.handlers.FilesHandler.head
    functionSourceFile: jupyter_server.files.handlers
    functionUses: 0
    functionsReached:
    - origin.lower
    - tornado.web.RequestHandler.set_header
    - <builtin>.bool
    - jupyter_server.utils.url_escape
    - tornado.web.RequestHandler.request.headers.get
    - mimetypes.guess_type
    - re.match
    - urllib.parse.urlparse
    - urllib.parse.quote
    - path.rsplit
    - tornado.web.RequestHandler.get_argument
    - path.split
    - name.lower
    - path.strip
    - tornado.web.RequestHandler.settings.get
    - jupyter_core.utils.ensure_async
    - jupyter_server.base.handlers.JupyterHandler.check_origin
    - base64.decodebytes
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.flush
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - <builtin>.hasattr
    - <builtin>.super
    - jupyter_server.files.handlers.FilesHandler.get
    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 0x7f34feda3ac0>
    argNames:
    - self
    - path
    - include_body
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 51
    functionName: jupyter_server.files.handlers.FilesHandler.get
    functionSourceFile: jupyter_server.files.handlers
    functionUses: 1
    functionsReached:
    - origin.lower
    - tornado.web.RequestHandler.set_header
    - <builtin>.bool
    - jupyter_server.utils.url_escape
    - tornado.web.RequestHandler.request.headers.get
    - mimetypes.guess_type
    - re.match
    - urllib.parse.urlparse
    - path.rsplit
    - tornado.web.RequestHandler.get_argument
    - path.split
    - name.lower
    - path.strip
    - tornado.web.RequestHandler.settings.get
    - jupyter_core.utils.ensure_async
    - jupyter_server.base.handlers.JupyterHandler.check_origin
    - base64.decodebytes
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.flush
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - <builtin>.hasattr
    - <builtin>.super
    - urllib.parse.quote
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: base64.decodebytes
    functionSourceFile: base64
    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: tornado.web.RequestHandler.flush
    functionSourceFile: tornado
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.auth.decorator
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.TypeVar
    functionSourceFile: typing
    functionUses: 2
    functionsReached: []
    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: 45
    functionName: jupyter_server.auth.decorator.authorized.wrapper
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 25
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 47
    functionName: jupyter_server.auth.decorator.authorized.wrapper.inner
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - template.render
    - jupyter_server.services.security.handlers.CSPReportHandler.post
    - jupyter_server.services.contents.handlers.CheckpointsHandler.get
    - jupyter_server.services.kernels.handlers.MainKernelHandler.post
    - <builtin>.str
    - jupyter_server.services.contents.handlers.ContentsHandler._upload
    - path.rsplit
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - json.dumps
    - jupyter_server.services.kernelspecs.handlers.is_kernelspec_model
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - path.strip
    - glob.glob
    - typing.cast.setdefault
    - jupyter_server.services.events.handlers.get_timestamp
    - jupyter_server.services.shutdown.ShutdownHandler.post
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.utils.url_path_join
    - path.lower
    - jupyter_server.base.handlers.JupyterHandler.check_origin
    - tornado.web.RequestHandler.write
    - nbformat.from_dict
    - os.path.exists
    - tornado.web.RequestHandler.redirect
    - jupyter_server.services.api.handlers.APISpecHandler.head
    - typing.cast.keys
    - asyncio.ensure_future
    - jupyter_server.services.config.handlers.ConfigHandler.get
    - jupyter_server.services.contents.handlers.ContentsHandler.post
    - origin.lower
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.request.headers.get
    - anyio.to_thread.run_sync
    - nbconvert.exporters.base.get_exporter
    - ns.update
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.application.last_activity
    - kernel.get
    - jupyter_server.services.sessions.handlers.SessionHandler.patch
    - <builtin>.int
    - jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.delete
    - jupyter_server.services.sessions.handlers.SessionRootHandler.post
    - <builtin>.len
    - jupyter_server.services.contents.handlers.CheckpointsHandler.post
    - os.path.basename
    - registry.get
    - jupyter_core.utils.ensure_async
    - spec.to_dict
    - tornado.web.RequestHandler.finish
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.kernels.handlers.MainKernelHandler.get
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.services.sessions.handlers.SessionRootHandler.get
    - parts.remove
    - tornado.web.StaticFileHandler.finish
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - resources.get
    - <builtin>.hasattr
    - output.encode
    - jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.get
    - tornado.web.RequestHandler.request.body.strip
    - tornado.log.app_log.exception
    - <builtin>.set
    - s.strip
    - datetime.datetime.strptime
    - os.path.split
    - jupyter_server.services.contents.handlers.ContentsHandler._new_untitled
    - jupyter_server.services.sessions.handlers.SessionHandler.get
    - <builtin>.bool
    - jupyter_server.utils.url_escape
    - mimetypes.guess_type
    - jupyter_server.services.events.handlers.validate_model
    - jupyter_server.services.contents.handlers.validate_model
    - jupyter_server.view.handlers.ViewHandler.get
    - required_keys.update
    - tornado.web.RequestHandler.request.body.decode
    - jupyter_server.base.handlers.APIHandler.finish
    - os.path.splitext
    - jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler.get
    - output_files.items
    - path.split
    - jupyter_server.nbconvert.handlers.respond_zip
    - jupyter_server.utils.url_unescape
    - buffer.getvalue
    - jupyter_server.services.contents.handlers.ContentsHandler.put
    - zipfile.ZipFile
    - dt.isoformat
    - kspecs.items
    - jupyter_server.services.sessions.handlers.SessionHandler.delete
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - tornado.ioloop.IOLoop.current
    - jupyter_server.base.handlers.AuthenticatedFileHandler.get
    - tornado.log.app_log.warning
    - tornado.web.RequestHandler.get_query_argument
    - jupyter_server.services.contents.handlers.ContentsHandler._save
    - jupyter_server.services.kernelspecs.handlers.KernelSpecHandler.get
    - jupyter_server._tz.utcnow
    - jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.post
    - jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.head
    - <builtin>.repr
    - jupyter_server.services.contents.handlers.ContentsHandler.get
    - jupyter_server.services.kernelspecs.handlers.kernelspec_model
    - re.match
    - jupyter_server._tz.isoformat
    - tornado.web.StaticFileHandler.get
    - jupyter_server.services.kernels.handlers.KernelHandler.delete
    - jupyter_server.services.config.handlers.ConfigHandler.patch
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - jupyter_server.services.contents.handlers.ContentsHandler.delete
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - zipf.writestr
    - jupyter_server.services.kernels.handlers.KernelActionHandler.post
    - jupyter_server.nbconvert.handlers.get_exporter
    - jupyter_server.base.handlers.AuthenticatedFileHandler.head
    - jupyter_server.services.api.handlers.APISpecHandler.get
    - jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    - jupyter_server.services.contents.handlers.ContentsHandler._copy
    - jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.get
    - jupyter_server.services.events.handlers.EventHandler.post
    - typing.cast
    - jupyter_server.services.api.handlers.APIStatusHandler.get
    - typing.cast.get
    - jupyter_server.services.config.handlers.ConfigHandler.put
    - jupyter_server.nbconvert.handlers.NbconvertFileHandler.get
    - jupyter_server.services.kernels.handlers.KernelHandler.get
    - jupyter_server.services.contents.handlers.ContentsHandler.patch
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_error
    - jupyter_server.nbconvert.handlers.NbconvertPostHandler.post
    - urllib.parse.unquote
    - tornado.web.RequestHandler.set_status
    - zipf.close
    - jupyter_server.services.contents.handlers._validate_keys
    - asyncio.iscoroutine
    - <builtin>.sum
    - kwargs.pop
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - io.BytesIO
    - datetime.datetime.now
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - os.path.join
    - <builtin>.isinstance
    - <builtin>.super
    - urllib.parse.quote
    - json.loads
    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: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - checkpoint_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 377
    functionName: jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.post
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_status
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    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: 31
    functionName: jupyter_server.services.security.handlers.CSPReportHandler.post
    functionSourceFile: jupyter_server.services.security.handlers
    functionUses: 1
    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:
    - <ast.Constant object at 0x7f34ff34d700>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 346
    functionName: jupyter_server.services.contents.handlers.CheckpointsHandler.get
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    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: 61
    functionName: jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.head
    functionSourceFile: jupyter_server.kernelspecs.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - tornado.web.StaticFileHandler.finish
    - mimetypes.guess_type
    - jupyter_core.utils.ensure_async
    - <builtin>.hasattr
    - jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.get
    - path.lower
    - tornado.web.StaticFileHandler.get
    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: 121
    functionName: jupyter_server.services.sessions.handlers.SessionHandler.get
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - <builtin>.super
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    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: 1
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - jupyter_server.utils.url_escape
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - tornado.web.RequestHandler.get_argument
    - path.split
    - <builtin>.getattr
    - typing.cast.setdefault
    - jupyter_server.utils.url_path_join
    - typing.cast
    - typing.cast.get
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_status
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - datetime.datetime.now
    - tornado.web.RequestHandler.request.body.strip
    - <builtin>.super
    - urllib.parse.quote
    - json.loads
    - s.strip
    - jupyter_server._tz.utcnow
    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 0x7f34ffcf4a30>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 119
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.get
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - jupyter_server.utils.url_escape
    - jupyter_server.services.contents.handlers.validate_model
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - json.dumps
    - required_keys.update
    - jupyter_server.base.handlers.APIHandler.finish
    - tornado.web.RequestHandler.get_argument
    - path.split
    - <builtin>.getattr
    - <builtin>.int
    - <builtin>.set
    - jupyter_server.utils.url_path_join
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_error
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.set_status
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.services.contents.handlers._validate_keys
    - kwargs.pop
    - tornado.web.RequestHandler.get_query_argument
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - datetime.datetime.now
    - typing.cast.keys
    - <builtin>.super
    - urllib.parse.quote
    - s.strip
    - jupyter_server._tz.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: 23
    functionName: jupyter_server.view.handlers.ViewHandler.get
    functionSourceFile: jupyter_server.view.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - jupyter_server.utils.url_path_join
    - template.render
    - jupyter_server.utils.url_escape
    - path.split
    - jupyter_core.utils.ensure_async
    - path.strip
    - tornado.web.RequestHandler.write
    - ns.update
    - urllib.parse.quote
    - path.rsplit
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - s.strip
    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: 38
    functionName: jupyter_server.services.config.handlers.ConfigHandler.patch
    functionSourceFile: jupyter_server.services.config.handlers
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - typing.cast
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - tornado.web.RequestHandler.request.body.strip
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    - json.loads
    - json.dumps
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    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: 80
    functionName: jupyter_server.services.kernels.handlers.KernelHandler.delete
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_status
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    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: 66
    functionName: jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler.get
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - jupyter_server.services.kernelspecs.handlers.kernelspec_model
    - jupyter_server.services.kernelspecs.handlers.is_kernelspec_model
    - json.dumps
    - os.path.splitext
    - jupyter_server.base.handlers.APIHandler.finish
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - glob.glob
    - os.path.basename
    - jupyter_server.utils.url_path_join
    - jupyter_core.utils.ensure_async
    - kspecs.items
    - os.path.exists
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - datetime.datetime.now
    - os.path.join
    - <builtin>.isinstance
    - <builtin>.super
    - s.strip
    - jupyter_server._tz.utcnow
    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 0x7f34ff2585e0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 328
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.delete
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_status
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 8
    IfCount: 11
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - session_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 129
    functionName: jupyter_server.services.sessions.handlers.SessionHandler.patch
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - <builtin>.repr
    - <builtin>.str
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - typing.cast
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_status
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - datetime.datetime.now
    - asyncio.ensure_future
    - tornado.web.RequestHandler.request.body.strip
    - <builtin>.super
    - json.loads
    - jupyter_server._tz.utcnow
    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: 386
    functionName: jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.delete
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_status
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    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: 93
    functionName: jupyter_server.services.kernels.handlers.KernelActionHandler.post
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.set_status
    - <builtin>.super
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    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: 47
    functionName: jupyter_server.services.sessions.handlers.SessionRootHandler.post
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - json.dumps
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - jupyter_server.base.handlers.APIHandler.finish
    - kernel.get
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - jupyter_server.utils.url_path_join
    - typing.cast
    - typing.cast.get
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_status
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - datetime.datetime.now
    - tornado.web.RequestHandler.request.body.strip
    - <builtin>.super
    - json.loads
    - s.strip
    - jupyter_server._tz.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 0x7f34feda8a00>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 355
    functionName: jupyter_server.services.contents.handlers.CheckpointsHandler.post
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - jupyter_server.utils.url_path_join
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - jupyter_server.utils.url_escape
    - path.split
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - jupyter_core.utils.ensure_async
    - datetime.datetime.now
    - tornado.web.RequestHandler.set_status
    - <builtin>.super
    - urllib.parse.quote
    - s.strip
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    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: 37
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    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: 1
    functionsReached:
    - tornado.ioloop.IOLoop.current
    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 0x7f34fea0c880>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 292
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.put
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - jupyter_server.services.contents.handlers.ContentsHandler._new_untitled
    - jupyter_server.utils.url_escape
    - urllib.parse.quote
    - jupyter_server.services.contents.handlers.ContentsHandler._upload
    - jupyter_server.services.contents.handlers.validate_model
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - json.dumps
    - required_keys.update
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - path.split
    - jupyter_server.utils.url_path_join
    - typing.cast
    - typing.cast.get
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_status
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.services.contents.handlers._validate_keys
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server.services.contents.handlers.ContentsHandler._save
    - datetime.datetime.now
    - typing.cast.keys
    - tornado.web.RequestHandler.request.body.strip
    - <builtin>.super
    - <builtin>.set
    - json.loads
    - s.strip
    - jupyter_server._tz.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: 32
    functionName: jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.get
    functionSourceFile: jupyter_server.services.nbconvert.handlers
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - anyio.to_thread.run_sync
    - <builtin>.super
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    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: 120
    functionName: jupyter_server.services.events.handlers.EventHandler.post
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 1
    functionsReached:
    - datetime.datetime.strptime
    - tornado.web.RequestHandler.set_header
    - jupyter_server.services.events.handlers.validate_model
    - <builtin>.str
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - jupyter_server.services.events.handlers.get_timestamp
    - registry.get
    - typing.cast
    - typing.cast.get
    - tornado.web.RequestHandler.set_status
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - datetime.datetime.now
    - tornado.web.RequestHandler.request.body.strip
    - <builtin>.super
    - json.loads
    - jupyter_server._tz.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: 55
    functionName: jupyter_server.services.api.handlers.APIStatusHandler.get
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - tornado.web.RequestHandler.set_header
    - jupyter_server._tz.isoformat
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    - tornado.web.RequestHandler.application.last_activity
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - <builtin>.len
    - tornado.web.RequestHandler.settings.get
    - dt.isoformat
    - jupyter_core.utils.ensure_async
    - datetime.datetime.fromtimestamp
    - <builtin>.sum
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_server._tz.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: 30
    functionName: jupyter_server.services.config.handlers.ConfigHandler.put
    functionSourceFile: jupyter_server.services.config.handlers
    functionUses: 1
    functionsReached:
    - typing.cast
    - tornado.web.RequestHandler.request.body.strip
    - tornado.web.RequestHandler.set_status
    - json.loads
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    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: 97
    functionName: jupyter_server.nbconvert.handlers.NbconvertFileHandler.get
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 1
    functionsReached:
    - origin.lower
    - os.path.split
    - tornado.web.RequestHandler.set_header
    - <builtin>.bool
    - jupyter_server.utils.url_escape
    - tornado.web.RequestHandler.request.headers.get
    - re.match
    - anyio.to_thread.run_sync
    - nbconvert.exporters.base.get_exporter
    - urllib.parse.urlparse
    - os.path.splitext
    - output_files.items
    - tornado.web.RequestHandler.get_argument
    - path.split
    - zipf.writestr
    - jupyter_server.nbconvert.handlers.respond_zip
    - path.strip
    - jupyter_server.nbconvert.handlers.get_exporter
    - jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    - buffer.getvalue
    - os.path.basename
    - tornado.web.RequestHandler.settings.get
    - zipfile.ZipFile
    - jupyter_server.utils.url_path_join
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.finish
    - jupyter_server.base.handlers.JupyterHandler.check_origin
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - zipf.close
    - parts.remove
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - resources.get
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - io.BytesIO
    - tornado.web.RequestHandler.redirect
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - <builtin>.hasattr
    - output.encode
    - tornado.log.app_log.exception
    - <builtin>.super
    - urllib.parse.quote
    - s.strip
    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: 72
    functionName: jupyter_server.services.kernels.handlers.KernelHandler.get
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    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 0x7f34fe6fb610>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 189
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.patch
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - jupyter_server.utils.url_escape
    - jupyter_server.services.contents.handlers.validate_model
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - json.dumps
    - required_keys.update
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - path.split
    - <builtin>.set
    - jupyter_server.utils.url_path_join
    - typing.cast
    - typing.cast.get
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.services.contents.handlers._validate_keys
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - datetime.datetime.now
    - typing.cast.keys
    - tornado.web.RequestHandler.request.body.strip
    - <builtin>.super
    - urllib.parse.quote
    - json.loads
    - s.strip
    - jupyter_server._tz.utcnow
    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: 203
    functionName: jupyter_server.services.sessions.handlers.SessionHandler.delete
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_status
    - jupyter_server.base.handlers.APIHandler.finish
    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: 1
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    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: 166
    functionName: jupyter_server.nbconvert.handlers.NbconvertPostHandler.post
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - jupyter_server.utils.url_escape
    - anyio.to_thread.run_sync
    - nbconvert.exporters.base.get_exporter
    - os.path.splitext
    - output_files.items
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - path.split
    - zipf.writestr
    - jupyter_server.nbconvert.handlers.respond_zip
    - jupyter_server.nbconvert.handlers.get_exporter
    - buffer.getvalue
    - os.path.basename
    - zipfile.ZipFile
    - typing.cast
    - typing.cast.get
    - tornado.web.RequestHandler.finish
    - zipf.close
    - nbformat.from_dict
    - resources.get
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - io.BytesIO
    - output.encode
    - tornado.web.RequestHandler.request.body.strip
    - tornado.log.app_log.exception
    - urllib.parse.quote
    - json.loads
    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: 39
    functionName: jupyter_server.services.sessions.handlers.SessionRootHandler.get
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f34feb11550>
    argNames:
    - self
    - kernel_name
    - path
    - include_body
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 28
    functionName: jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.get
    functionSourceFile: jupyter_server.kernelspecs.handlers
    functionUses: 2
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - tornado.web.StaticFileHandler.finish
    - mimetypes.guess_type
    - <builtin>.hasattr
    - jupyter_core.utils.ensure_async
    - path.lower
    - tornado.web.StaticFileHandler.get
    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: 98
    functionName: jupyter_server.services.kernelspecs.handlers.KernelSpecHandler.get
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - jupyter_server.services.kernelspecs.handlers.kernelspec_model
    - jupyter_server.services.kernelspecs.handlers.is_kernelspec_model
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    - os.path.splitext
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - path.split
    - jupyter_server.utils.url_unescape
    - glob.glob
    - os.path.basename
    - jupyter_server.utils.url_path_join
    - spec.to_dict
    - jupyter_core.utils.ensure_async
    - urllib.parse.unquote
    - os.path.exists
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - datetime.datetime.now
    - os.path.join
    - <builtin>.isinstance
    - <builtin>.super
    - s.strip
    - jupyter_server._tz.utcnow
    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: 32
    functionName: jupyter_server.services.api.handlers.APISpecHandler.head
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.StaticFileHandler.get
    - jupyter_server.services.api.handlers.APISpecHandler.get
    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: 23
    functionName: jupyter_server.services.config.handlers.ConfigHandler.get
    functionSourceFile: jupyter_server.services.config.handlers
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - <builtin>.super
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    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 0x7f34ff51f7f0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 251
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.post
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - jupyter_server.services.contents.handlers.ContentsHandler._new_untitled
    - jupyter_server.utils.url_escape
    - jupyter_server.services.contents.handlers.validate_model
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - json.dumps
    - required_keys.update
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - jupyter_server.base.handlers.APIHandler.finish
    - tornado.web.RequestHandler.get_argument
    - path.split
    - <builtin>.getattr
    - <builtin>.set
    - jupyter_server.services.contents.handlers.ContentsHandler._copy
    - jupyter_server.utils.url_path_join
    - typing.cast
    - typing.cast.get
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_status
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.services.contents.handlers._validate_keys
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - datetime.datetime.now
    - typing.cast.keys
    - tornado.web.RequestHandler.request.body.strip
    - <builtin>.super
    - urllib.parse.quote
    - json.loads
    - s.strip
    - jupyter_server._tz.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: asyncio.iscoroutine
    functionSourceFile: asyncio
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 109
    functionName: jupyter_server.auth.decorator.allow_unauthenticated.wrapper
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - template.render
    - jupyter_server.base.handlers.PublicStaticFileHandler.get
    - jupyter_server.utils.url_escape
    - tornado.web.RequestHandler.request.headers.get
    - prometheus_client.generate_latest
    - jupyter_server.base.handlers.RedirectWithParams.get
    - <builtin>.any
    - ns.update
    - json.dumps
    - jupyter_server.base.handlers.FileFindHandler.head
    - jupyter_server.base.handlers.TrailingSlashHandler.get
    - jupyter_server.base.handlers.FileFindHandler.get
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - jupyter_server.base.handlers.APIHandler.finish
    - tornado.web.RequestHandler.get_argument
    - path.split
    - <builtin>.getattr
    - jupyter_server.base.handlers.PublicStaticFileHandler.head
    - path.strip
    - jupyter_server.base.handlers.APIHandler.options
    - jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - tornado.web.RequestHandler.settings.get
    - sep.join
    - jupyter_server.utils.url_path_join
    - jupyter_server.base.handlers.FilesRedirectHandler.get
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.write
    - h.strip
    - jupyter_server.base.handlers.MainHandler.get
    - tornado.web.RequestHandler.request.uri.partition
    - parts.remove
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - tornado.web.RequestHandler.redirect
    - datetime.datetime.now
    - jupyter_server.base.handlers.APIVersionHandler.get
    - jupyter_server.services.contents.handlers.NotebooksRedirectHandler.get
    - <builtin>.super
    - jupyter_server.base.handlers.PrometheusMetricsHandler.get
    - urllib.parse.quote
    - s.strip
    - jupyter_server._tz.utcnow
    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: 406
    functionName: jupyter_server.services.contents.handlers.NotebooksRedirectHandler.get
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.utils.url_path_join
    - jupyter_server.utils.url_escape
    - path.split
    - tornado.web.RequestHandler.redirect
    - urllib.parse.quote
    - s.strip
    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: 117
    functionName: jupyter_server.auth.decorator.ws_authenticated
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 2
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 133
    functionName: jupyter_server.auth.decorator.ws_authenticated.wrapper
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 0
    functionsReached:
    - jupyter_server.services.events.handlers.SubscribeWebsocket.pre_get
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.events.handlers.SubscribeWebsocket.get
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 49
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.get
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.services.events.handlers.SubscribeWebsocket.pre_get
    - jupyter_core.utils.ensure_async
    - <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_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:
    - 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: 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: 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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f34fececd30>
    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
    - modules.extend
    - importlib.import_module
    - JUPYTER_SERVICE_HANDLERS.values
    - regex_mapping.items
    - pattern.fullmatch
    - jupyter_server.auth.utils.get_regex_to_resource_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: 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: 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:
    - random.randint
    - <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: 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: 39
    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.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.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.Instance
    - traitlets.Bool
    - traitlets.Unicode
    - traitlets.Dict
    - traitlets.List
    - traitlets.Any
    - traitlets.default
    - traitlets.Float
    - traitlets.Int
    - weakref.WeakSet
    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: 93
    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: 112
    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: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: concurrent.futures.Future
    functionSourceFile: concurrent
    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: 1
    functionLinenumber: 119
    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: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Int
    functionSourceFile: traitlets
    functionUses: 4
    functionsReached: []
    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: 135
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.close_all
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - connection.disconnect
    - asyncio.wrap_future
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - <builtin>.list
    - asyncio.get_running_loop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 142
    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: 150
    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: 158
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - future.add_done_callback
    - shell_channel.on_recv
    - <builtin>.getattr
    - loop.call_later
    - traitlets.config.LoggingConfigurable.log.debug
    - control_channel.on_recv
    - asyncio.wrap_future
    - iopub_channel.on_recv
    - f.set_result
    - both_done.add_done_callback
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - concurrent.futures.Future
    - tornado.ioloop.IOLoop.current
    - tornado.gen.with_timeout
    - loop.time
    - asyncio.get_running_loop
    - tornado.gen.multi
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: tornado.gen.multi
    functionSourceFile: tornado
    functionUses: 8
    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 0x7f34febc2a00>
    argNames:
    - _
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 190
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.finish
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - f.done
    - f.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: 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 0x7f34ff648400>
    argNames:
    - _
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 198
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.cleanup
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - iopub_channel.stop_on_recv
    - shell_channel.close
    - shell_channel.closed
    - control_channel.closed
    - control_channel.close
    - 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: 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: 210
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_shell_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - info_future.done
    - traitlets.config.LoggingConfigurable.log.debug
    - info_future.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: 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: 217
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_control_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - info_future.done
    - traitlets.config.LoggingConfigurable.log.debug
    - info_future.set_result
    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: 224
    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
    - iopub_channel.stop_on_recv
    - iopub_future.done
    - traitlets.config.LoggingConfigurable.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: 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: 238
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.nudge
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.finish
    - loop.call_later
    - f.done
    - traitlets.config.LoggingConfigurable.log.debug
    - shell_channel.closed
    - f.set_result
    - both_done.done
    - traitlets.Instance.send
    - control_channel.closed
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: traitlets.Instance.send
    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: 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: 275
    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
    - stale_handler.close
    - typing.cast
    - traitlets.config.LoggingConfigurable.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: 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: 294
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.prepare
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - future.add_done_callback
    - future.done
    - <builtin>.str
    - traitlets.Instance.send
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - asyncio.get_running_loop
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info
    - stale_handler.close
    - traitlets.config.LoggingConfigurable.log.debug
    - asyncio.sleep
    - typing.cast
    - jupyter_core.utils.ensure_async
    - traitlets.Any.on_recv
    - traitlets.config.LoggingConfigurable.log.warning
    - asyncio.wrap_future
    - tornado.ioloop.IOLoop.current
    - loop.time
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._register_session
    - time.time
    - <builtin>.hasattr
    - <builtin>.isinstance
    - loop.add_timeout
    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.time
    functionSourceFile: time
    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.sleep
    functionSourceFile: asyncio
    functionUses: 33
    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: 575
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - future.add_done_callback
    - future.done
    - traitlets.Any.on_recv
    - traitlets.config.LoggingConfigurable.log.debug
    - asyncio.wrap_future
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - traitlets.Instance.send
    - asyncio.get_running_loop
    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: 323
    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.Instance.set_result
    - traitlets.config.LoggingConfigurable.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: traitlets.Instance.done
    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.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: 335
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - future.add_done_callback
    - stream.closed
    - traitlets.Instance.add_done_callback
    - f.set_result
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge
    - asyncio.get_running_loop
    - shell_channel.on_recv
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - traitlets.config.LoggingConfigurable.log.error
    - <builtin>.getattr
    - loop.call_later
    - traitlets.config.LoggingConfigurable.log.debug
    - control_channel.on_recv
    - both_done.add_done_callback
    - concurrent.futures.Future
    - tornado.gen.with_timeout
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.create_stream
    - traitlets.config.LoggingConfigurable._open_sockets.add
    - asyncio.wrap_future
    - tornado.ioloop.IOLoop.current
    - traitlets.Dict.values
    - loop.time
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - traitlets.Instance.set_result
    - stream.close
    - iopub_channel.on_recv
    - stream.on_recv
    - tornado.gen.multi
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 23
    functionsReached: []
    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: 353
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect.replay
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - buffers.insert
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - traitlets.Instance.pack
    - stream.closed
    - msg.pop
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - <builtin>.str
    - traitlets.Instance.feed_identities
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_zmq_reply
    - traitlets.Instance.unpack
    - <builtin>.list
    - json.dumps
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - <builtin>.getattr
    - <builtin>.float
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr
    - <builtin>.len
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - traitlets.Instance.deserialize
    - offset.to_bytes
    - traitlets.config.LoggingConfigurable.log.info
    - textwrap.dedent
    - msg.copy
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply
    - struct.pack
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._limit_rate
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_outgoing_message
    - tornado.ioloop.IOLoop.current
    - traitlets.Dict.values
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_error
    - channel.encode
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - <builtin>.sum
    - traitlets.config.LoggingConfigurable.log.critical
    - traitlets.Instance.msg
    - traitlets.Instance.set_result
    - stream.close
    - <builtin>.isinstance
    - offsets.append
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - stream.on_recv
    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: 490
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_outgoing_message
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - buffers.insert
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - traitlets.Instance.pack
    - stream.closed
    - msg.pop
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - <builtin>.str
    - traitlets.Instance.feed_identities
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_zmq_reply
    - traitlets.Instance.unpack
    - <builtin>.list
    - json.dumps
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - <builtin>.getattr
    - <builtin>.float
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr
    - <builtin>.len
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - traitlets.Instance.deserialize
    - offset.to_bytes
    - textwrap.dedent
    - msg.copy
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply
    - struct.pack
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._limit_rate
    - traitlets.config.LoggingConfigurable.log.warning
    - tornado.ioloop.IOLoop.current
    - traitlets.Dict.values
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_error
    - channel.encode
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - <builtin>.sum
    - traitlets.config.LoggingConfigurable.log.critical
    - traitlets.Instance.msg
    - traitlets.Instance.set_result
    - stream.close
    - <builtin>.isinstance
    - offsets.append
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - stream.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: traitlets.Instance.add_done_callback
    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.LoggingConfigurable.log.error
    functionSourceFile: traitlets
    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: 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: 399
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 5
    functionsReached:
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - stream.closed
    - traitlets.Instance.set_result
    - traitlets.config.LoggingConfigurable.log.debug
    - stream.close
    - traitlets.Dict.values
    - stream.on_recv
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - 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: 387
    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.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: 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: 395
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.close
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - stream.closed
    - traitlets.Instance.set_result
    - traitlets.config.LoggingConfigurable.log.debug
    - stream.close
    - traitlets.Dict.values
    - stream.on_recv
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - 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: 445
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_incoming_message
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - warnings.warn
    - msg.pop
    - traitlets.Instance.unpack
    - traitlets.Instance.send
    - <builtin>.list
    - dateutil.tz.tzlocal
    - jupyter_server.services.kernels.connection.base.deserialize_binary_message
    - struct.unpack
    - <builtin>.zip
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.kernels.connection.base.deserialize_msg_from_ws_v1
    - <builtin>.range
    - jupyter_client.jsonutil._ensure_tzinfo
    - traitlets.Instance.send_raw
    - ISO8601_PAT.match
    - dateutil.parser.isoparse.replace
    - traitlets.config.LoggingConfigurable.log.warning
    - dateutil.parser.isoparse
    - dateutil.parser.isoparse.items
    - jupyter_client.jsonutil.extract_dates
    - bufs.append
    - <builtin>.isinstance
    - offsets.append
    - json.loads
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - int.from_bytes
    - jupyter_client.jsonutil.parse_date
    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: 516
    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: 793
    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: 652
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._limit_rate
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - traitlets.Instance.pack
    - traitlets.Instance.msg
    - <builtin>.float
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr
    - <builtin>.len
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - traitlets.Instance.unpack
    - tornado.ioloop.IOLoop.current
    - offsets.append
    - offset.to_bytes
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - json.dumps
    - channel.encode
    - textwrap.dedent
    - <builtin>.sum
    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: 552
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_zmq_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - buffers.insert
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - traitlets.Instance.pack
    - stream.closed
    - msg.pop
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - <builtin>.str
    - traitlets.Instance.feed_identities
    - <builtin>.list
    - json.dumps
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.len
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - traitlets.Instance.deserialize
    - offset.to_bytes
    - msg.copy
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply
    - struct.pack
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Dict.values
    - channel.encode
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - traitlets.config.LoggingConfigurable.log.critical
    - traitlets.Instance.set_result
    - stream.close
    - <builtin>.isinstance
    - offsets.append
    - stream.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: 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 0x7f34feb291c0>
    argNames:
    - self
    - msg_or_list
    - channel
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 527
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 3
    functionsReached:
    - buffers.insert
    - struct.pack
    - msg.pop
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - <builtin>.len
    - <builtin>.isinstance
    - traitlets.Instance.feed_identities
    - offsets.append
    - traitlets.Instance.deserialize
    - <builtin>.list
    - json.dumps
    - msg.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: 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: 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:
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._finish_kernel_info
    - traitlets.Instance.set_result
    - <builtin>.int
    - protocol_version.split
    - f.result
    - traitlets.Instance.done
    - info.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: f.result
    functionSourceFile: <builtin>
    functionUses: 4
    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: 622
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._finish_kernel_info
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - <builtin>.int
    - traitlets.Instance.set_result
    - protocol_version.split
    - info.get
    - traitlets.Instance.done
    - traitlets.config.LoggingConfigurable.log.info
    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: 597
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._handle_kernel_info_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.error
    - traitlets.Any.close
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._finish_kernel_info
    - traitlets.Instance.set_result
    - <builtin>.int
    - traitlets.config.LoggingConfigurable.log.debug
    - protocol_version.split
    - traitlets.Instance.feed_identities
    - info.get
    - traitlets.Instance.done
    - traitlets.Instance.deserialize
    - 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: 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: 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: 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: 637
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 3
    functionsReached:
    - traitlets.Instance.pack
    - traitlets.Instance.msg
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.len
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - offsets.append
    - offset.to_bytes
    - channel.encode
    - json.dumps
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: <builtin>.sum
    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: textwrap.dedent
    functionSourceFile: textwrap
    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: 767
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._send_status_message
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - traitlets.Instance.pack
    - traitlets.Instance.msg
    - iopub.flush
    - <builtin>.len
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - traitlets.Dict.get
    - offsets.append
    - iopub.closed
    - offset.to_bytes
    - channel.encode
    - json.dumps
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 783
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.on_kernel_restarted
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.Instance.pack
    - traitlets.Instance.msg
    - iopub.flush
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.len
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - traitlets.Dict.get
    - offsets.append
    - iopub.closed
    - offset.to_bytes
    - channel.encode
    - json.dumps
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - 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: 788
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.on_restart_failed
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.Instance.pack
    - traitlets.config.LoggingConfigurable.log.error
    - traitlets.Instance.msg
    - iopub.flush
    - <builtin>.len
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - traitlets.Dict.get
    - offsets.append
    - iopub.closed
    - offset.to_bytes
    - channel.encode
    - json.dumps
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - 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_client
    functionSourceFile: jupyter_client
    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.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: 30
    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: 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: 34
    functionName: jupyter_client.multikernelmanager.kernel_method.wrapped
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_stdin
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_restart_callback
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_shell
    - <builtin>.getattr
    - jupyter_client.multikernelmanager.MultiKernelManager.signal_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager.get_connection_info
    - jupyter_client.multikernelmanager.MultiKernelManager.finish_shutdown
    - jupyter_client.multikernelmanager.MultiKernelManager.request_shutdown
    - jupyter_client.multikernelmanager.MultiKernelManager.cleanup_resources
    - jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback
    - jupyter_client.multikernelmanager.MultiKernelManager.is_alive
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_iopub
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_hb
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_control
    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 0x7f34feb43a90>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 554
    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: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f34ff250640>
    argNames:
    - self
    - kernel_id
    - callback
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 476
    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 0x7f34ff250970>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 518
    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: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - signum
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 401
    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: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 482
    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: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f34feb33850>
    - <ast.Constant object at 0x7f34feb33970>
    argNames:
    - self
    - kernel_id
    - waittime
    - pollinterval
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 341
    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: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f34feb334f0>
    argNames:
    - self
    - kernel_id
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 337
    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: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f34fe964220>
    argNames:
    - self
    - kernel_id
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 351
    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: 441
    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: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f34ff250fd0>
    argNames:
    - self
    - kernel_id
    - callback
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 470
    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 0x7f34ff250a90>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 500
    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 0x7f34feb43250>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 572
    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 0x7f34feb43f10>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 536
    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: 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.Unicode.tag
    - traitlets.Instance
    - functools.wraps
    - traitlets.Bool
    - traitlets.Unicode
    - traitlets.Dict
    - jupyter_core.utils.run_sync
    - traitlets.DottedObjectName.tag
    - traitlets.observe
    - traitlets.Any
    - traitlets.default
    - traitlets.DottedObjectName
    - traitlets.Bool.tag
    - jupyter_client.multikernelmanager.kernel_method
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 68
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._kernel_manager_class_changed
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory
    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: 77
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 74
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._kernel_manager_factory_default
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory
    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: 80
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 8
    functionsReached:
    - zmq.Context
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - traitlets.utils.importstring.import_item
    - kwargs.setdefault
    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: 108
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._context_default
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 9
    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: 31
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 103
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._starting_kernels
    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: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 117
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.__init__
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 2
    functionsReached:
    - <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: 121
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.__del__
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - traitlets.Instance.destroy
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 134
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 3
    functionsReached:
    - pathlib.Path
    - km.ready.set_result
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - <builtin>.str
    - traitlets.Any
    - <builtin>.list
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - uuid.uuid4
    - pathlib.Path.is_dir
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.keys
    - v.index
    - traitlets.utils.importstring.import_item
    - p.is_file
    - pathlib.Path.iterdir
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.values
    - zmq.Context
    - jupyter_client.session.utcnow
    - datetime.datetime.now
    - connection_file.read_text
    - km.load_connection_info
    - traitlets.Dict.keys
    - kwargs.setdefault
    - 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: pathlib.Path.is_dir
    functionSourceFile: pathlib
    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: pathlib.Path.iterdir
    functionSourceFile: pathlib
    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: p.is_file
    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.configurable.LoggingConfigurable.kernel_id_to_connection_file.keys
    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.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.values
    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: v.index
    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: connection_file.read_text
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 589
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 7
    functionsReached:
    - <builtin>.str
    - uuid.uuid4
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.load_connection_info
    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: km.ready.set_result
    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.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: 4
    functionLinenumber: 185
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.__len__
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - pathlib.Path
    - jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids
    - km.ready.set_result
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - <builtin>.str
    - traitlets.Any
    - <builtin>.list
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - uuid.uuid4
    - pathlib.Path.is_dir
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - <builtin>.len
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.keys
    - v.index
    - traitlets.utils.importstring.import_item
    - p.is_file
    - pathlib.Path.iterdir
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.values
    - zmq.Context
    - jupyter_client.session.utcnow
    - datetime.datetime.now
    - connection_file.read_text
    - km.load_connection_info
    - traitlets.Dict.keys
    - kwargs.setdefault
    - json.loads
    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: 189
    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: 192
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.pre_start_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 2
    functionsReached:
    - kwargs.pop
    - uuid.uuid4
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - os.path.join
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - <builtin>.str
    - traitlets.Any
    - kwargs.setdefault
    - zmq.Context
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - traitlets.utils.importstring.import_item
    linkageType: pythonLinkage
    raised:
    - DuplicateKernelError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - env
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 217
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.update_env
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - km
    - kernel_awaitable
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 228
    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: 238
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 5
    functionsReached:
    - traitlets.Dict.pop
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    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: 354
    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: 248
    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: 254
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._async_start_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 1
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - <builtin>.str
    - traitlets.Any
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - asyncio.create_task
    - jupyter_client.multikernelmanager.MultiKernelManager._add_kernel_when_ready
    - uuid.uuid4
    - <builtin>.getattr
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - traitlets.utils.importstring.import_item
    - traitlets.Dict.pop
    - jupyter_core.utils.ensure_async
    - zmq.Context
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - km.ready.exception
    - kwargs.pop
    - jupyter_client.multikernelmanager.MultiKernelManager.pre_start_kernel
    - os.path.join
    - <builtin>.isinstance
    - kwargs.setdefault
    - km.start_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.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: 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: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f34ff297a60>
    - <ast.Constant object at 0x7f34ff297280>
    argNames:
    - self
    - kernel_id
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 289
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 4
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - traitlets.Dict.pop
    - typing.cast
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - <builtin>.getattr
    - jupyter_core.utils.ensure_async
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - asyncio.ensure_future
    - traitlets.config.LoggingConfigurable.ready.exception
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    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: 458
    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: 11
    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 0x7f34fe9645b0>
    argNames:
    - self
    - now
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 364
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_all
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - pathlib.Path
    - jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids
    - km.ready.set_result
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - <builtin>.str
    - traitlets.Any
    - <builtin>.list
    - traitlets.config.LoggingConfigurable.ready.exception
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - uuid.uuid4
    - pathlib.Path.is_dir
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - <builtin>.getattr
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.keys
    - v.index
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - traitlets.Dict.pop
    - typing.cast
    - jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    - p.is_file
    - jupyter_core.utils.ensure_async
    - pathlib.Path.iterdir
    - traitlets.Dict.values
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.values
    - zmq.Context
    - kwargs.setdefault
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - asyncio.gather
    - jupyter_client.session.utcnow
    - datetime.datetime.now
    - connection_file.read_text
    - asyncio.ensure_future
    - km.load_connection_info
    - traitlets.Dict.keys
    - <builtin>.set
    - 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: 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: 384
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.interrupt_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - traitlets.config.LoggingConfigurable.ready.done
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - traitlets.config.LoggingConfigurable.interrupt_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 0x7f34fea04a60>
    argNames:
    - self
    - kernel_id
    - now
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 416
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._async_restart_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 1
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - <builtin>.getattr
    - jupyter_core.utils.ensure_async
    - traitlets.config.LoggingConfigurable.restart_kernel
    - traitlets.config.LoggingConfigurable.ready.done
    - 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: 453
    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: 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: 1
    functionLinenumber: -1
    functionName: jupyter_client.multikernelmanager.AsyncMultiKernelManager
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - traitlets.Bool
    - traitlets.default
    - traitlets.DottedObjectName
    - 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: 1
    functionLinenumber: 617
    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: 15
    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: 18
    functionName: jupyter_client.asynchronous.client.wrapped._
    functionSourceFile: jupyter_client.asynchronous.client
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - jupyter_client.client.KernelClient.shutdown
    - jupyter_client.blocking.client.wrapped
    - jupyter_client.client.KernelClient.execute
    - jupyter_client.client.validate_string_dict
    - traitlets.Instance.msg
    - jupyter_client.client.KernelClient.is_complete
    - <builtin>.isinstance
    - dct.items
    - jupyter_client.asynchronous.client.wrapped
    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 0x7f34fe963670>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 805
    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: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - meth
    - channel
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 18
    functionName: jupyter_client.blocking.client.wrapped
    functionSourceFile: ''
    functionUses: 9
    functionsReached: []
    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 0x7f34ff4163d0>
    - <ast.Constant object at 0x7f34ff416eb0>
    - <ast.Constant object at 0x7f34ff416e80>
    - <ast.Constant object at 0x7f34ff416ac0>
    - <ast.Constant object at 0x7f34ff4160d0>
    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: 580
    functionName: jupyter_client.client.KernelClient.execute
    functionSourceFile: jupyter_client.client
    functionUses: 3
    functionsReached:
    - dct.items
    - <builtin>.isinstance
    - jupyter_client.client.validate_string_dict
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised:
    - ValueError
    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: 780
    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: 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:
    - basedoc.strip
    - jupyter_client.blocking.client.wrapped
    - traitlets.Instance
    - meth.__doc__.split
    - jupyter_client.client.reqrep
    - jupyter_client.asynchronous.client.wrapped
    - traitlets.Type
    - parts.append
    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: 38
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f34febc29d0>
    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.blocking.client.wrapped
    - meth.__doc__.split
    - jupyter_client.asynchronous.client.wrapped
    - basedoc.strip
    - parts.append
    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:
    - dct.items
    - <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: 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.Type
    - traitlets.Bool
    - 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: 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:
    - <builtin>.super
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Instance.destroy
    - traitlets.config.LoggingConfigurable.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
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 141
    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: 145
    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: 149
    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: 153
    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 0x7f34feb4b640>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 157
    functionName: jupyter_client.client.KernelClient._async_wait_for_ready
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_client.blocking.client.wrapped
    - jupyter_client.asynchronous.client.wrapped
    - time.time
    - <builtin>.int
    - <builtin>.float
    - jupyter_core.utils.ensure_async
    - traitlets.config.LoggingConfigurable.parent._async_is_alive
    - asyncio.sleep
    - <builtin>.isinstance
    - jupyter_client.client.KernelClient._handle_kernel_info_reply
    - jupyter_server.gateway.managers.HBChannelQueue.is_beating
    - jupyter_server.gateway.managers.ChannelQueue.is_alive
    - traitlets.Any.is_beating
    - jupyter_client.client.KernelClient._async_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: 408
    functionName: jupyter_client.client.KernelClient._async_is_alive
    functionSourceFile: jupyter_client.client
    functionUses: 1
    functionsReached:
    - traitlets.config.LoggingConfigurable.parent._async_is_alive
    - <builtin>.isinstance
    - jupyter_server.gateway.managers.ChannelQueue.is_alive
    - jupyter_server.gateway.managers.HBChannelQueue.is_beating
    - traitlets.Any.is_beating
    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: 770
    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 0x7f34feffbc70>
    - <ast.Constant object at 0x7f34feffb9d0>
    argNames:
    - self
    - msg_id
    - timeout
    - channel
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 216
    functionName: jupyter_client.client.KernelClient._async_recv_reply
    functionSourceFile: jupyter_client.client
    functionUses: 1
    functionsReached:
    - jupyter_client.client.KernelClient._async_get_shell_msg
    - <builtin>.max
    - jupyter_client.client.KernelClient._async_get_control_msg
    - jupyter_core.utils.ensure_async
    - time.monotonic
    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: 5
    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: 238
    functionName: jupyter_client.client.KernelClient._stdin_hook_default
    functionSourceFile: jupyter_client.client
    functionUses: 1
    functionsReached:
    - sys.stdout.write
    - traitlets.Instance.msg
    - content.get
    - jupyter_client.client.KernelClient.input
    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: 791
    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: 257
    functionName: jupyter_client.client.KernelClient._output_hook_default
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    - stream.write
    - 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: 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: 269
    functionName: jupyter_client.client.KernelClient._output_hook_kernel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - sys.stdout.write
    - session.send
    - <builtin>.getattr
    - jupyter_client.client.KernelClient._output_hook_default
    - stream.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 0x7f34fe85f340>
    - <ast.Constant object at 0x7f34fe85fca0>
    - <ast.Constant object at 0x7f34fe85fb50>
    - <ast.Constant object at 0x7f34fe85f8b0>
    - <ast.Constant object at 0x7f34fe85f370>
    argNames:
    - self
    - shell
    - iopub
    - stdin
    - hb
    - control
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 290
    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: 320
    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: 337
    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: 350
    functionName: jupyter_client.client.KernelClient.shell_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jupyter_client.connect.ConnectionFileMixin.connect_shell
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Type
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    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: 636
    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 0x7f34fecd2820>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 668
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_shell
    functionSourceFile: jupyter_client.connect
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    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: 362
    functionName: jupyter_client.client.KernelClient.iopub_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jupyter_client.connect.ConnectionFileMixin.connect_iopub
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.setsockopt
    - sock.connect
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Type
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    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 0x7f34fecd2520>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 662
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_iopub
    functionSourceFile: jupyter_client.connect
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.setsockopt
    - sock.connect
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    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: 374
    functionName: jupyter_client.client.KernelClient.stdin_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.connect_stdin
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Type
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    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 0x7f34ffaaf0d0>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 672
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_stdin
    functionSourceFile: jupyter_client.connect
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    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: 386
    functionName: jupyter_client.client.KernelClient.hb_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - <builtin>.getattr
    - traitlets.Type
    - traitlets.config.LoggingConfigurable.log.debug
    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: 397
    functionName: jupyter_client.client.KernelClient.control_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.connect_control
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Type
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    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 0x7f34fe6b9400>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 680
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_control
    functionSourceFile: jupyter_client.connect
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 690
    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: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 25
    ICount: 5
    IfCount: 17
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f34feb29190>
    - <ast.Constant object at 0x7f34feb29b80>
    - <ast.Constant object at 0x7f34feb29850>
    - <ast.Constant object at 0x7f34feb29c10>
    - <ast.Constant object at 0x7f34feb29be0>
    - <ast.Constant object at 0x7f34feb292b0>
    - <ast.Constant object at 0x7f34feb29400>
    - <ast.Constant object at 0x7f34feb29cd0>
    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: 424
    functionName: jupyter_client.client.KernelClient._async_execute_interactive
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_client.client.validate_string_dict
    - jupyter_client.client.KernelClient._stdin_hook_default
    - jupyter_client.asynchronous.client.wrapped
    - functools.partial
    - <builtin>.max
    - <builtin>.getattr
    - <builtin>.int
    - IPython.get_ipython
    - poller.register
    - jupyter_client.client.KernelClient._async_get_shell_msg
    - jupyter_client.blocking.client.wrapped
    - sys.stdout.write
    - <builtin>.dict
    - jupyter_client.client.KernelClient._async_recv_reply
    - jupyter_core.utils.ensure_async
    - content.get
    - time.monotonic
    - jupyter_client.client.KernelClient.execute
    - jupyter_client.client.KernelClient._async_get_control_msg
    - jupyter_client.client.KernelClient.input
    - zmq.asyncio.Poller
    - jupyter_client.client.KernelClient._output_hook_default
    - traitlets.Instance.msg
    - <builtin>.isinstance
    - stream.write
    - dct.items
    - sys.stderr.write
    - poller.poll
    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: zmq.asyncio.Poller
    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.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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f34fe98ff10>
    argNames:
    - self
    - code
    - cursor_pos
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 647
    functionName: jupyter_client.client.KernelClient.complete
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - traitlets.Instance.msg
    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 0x7f34ff4448e0>
    - <ast.Constant object at 0x7f34ff444250>
    argNames:
    - self
    - code
    - cursor_pos
    - detail_level
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 670
    functionName: jupyter_client.client.KernelClient.inspect
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f34fe9e62e0>
    - <ast.Constant object at 0x7f34fe9e6be0>
    - <ast.Constant object at 0x7f34fe9e6c40>
    argNames:
    - self
    - raw
    - output
    - hist_access_type
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 701
    functionName: jupyter_client.client.KernelClient.history
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - traitlets.Instance.msg
    - <builtin>.dict
    - kwargs.setdefault
    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: 747
    functionName: jupyter_client.client.KernelClient.kernel_info
    functionSourceFile: jupyter_client.client
    functionUses: 0
    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 0x7f34ff084b80>
    argNames:
    - self
    - target_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 758
    functionName: jupyter_client.client.KernelClient.comm_info
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - 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: KernelClientABC.register
    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.connect
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 11
    IfCount: 12
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7f34ff6c4580>
    - <ast.Constant object at 0x7f34ff6c4910>
    - <ast.Constant object at 0x7f34ff6c4d60>
    - <ast.Constant object at 0x7f34ff6c42b0>
    - <ast.Constant object at 0x7f34ff6c4760>
    - <ast.Constant object at 0x7f34ff6c4370>
    - <ast.Constant object at 0x7f34ff6c4550>
    - <ast.Constant object at 0x7f34ff6c4d30>
    - <ast.Constant object at 0x7f34ff6c4c70>
    - <ast.Constant object at 0x7f34ff6c46a0>
    - <ast.Constant object at 0x7f34ff6c45b0>
    argNames:
    - fname
    - shell_port
    - iopub_port
    - stdin_port
    - hb_port
    - control_port
    - ip
    - key
    - transport
    - signature_scheme
    - kernel_name
    - kwargs
    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
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: jupyter_client.connect.write_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - socket.socket
    - sock.bind
    - json.dumps
    - jupyter_client.localinterfaces.localhost
    - os.close
    - os.stat
    - <builtin>.int
    - sock.setsockopt
    - <builtin>.range
    - sock.getsockname
    - sock.close
    - sockets.append
    - os.path.dirname
    - tempfile.mkstemp
    - jupyter_core.paths.secure_write
    - ports.pop
    - os.path.exists
    - <builtin>.hasattr
    - os.chmod
    - ports.append
    - cfg.update
    - key.decode
    - f.write
    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: 319
    functionName: jupyter_client.localinterfaces.localhost
    functionSourceFile: ''
    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: 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: 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: 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: 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: cfg.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: 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 0x7f34ff250370>
    - <ast.Constant object at 0x7f34ff250970>
    - <ast.Constant object at 0x7f34ff250c10>
    argNames:
    - filename
    - path
    - profile
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 177
    functionName: jupyter_client.connect.find_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - os.path.isabs
    - os.getcwd
    - jupyter_client.utils._expand_path
    - matches.extend
    - s.replace
    - warnings.warn
    - jupyter_client.utils._filefind
    - os.path.abspath
    - os.path.join
    - glob.glob
    - <builtin>.sorted
    - <builtin>.len
    - <builtin>.isinstance
    - find_connection_file.strip
    - os.path.expanduser
    - jupyter_core.paths.jupyter_runtime_dir
    - os.path.isfile
    - os.path.expandvars
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f34feb332e0>
    argNames:
    - filename
    - path_dirs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 16
    functionName: jupyter_client.utils._filefind
    functionSourceFile: jupyter_client.utils
    functionUses: 4
    functionsReached:
    - os.path.isabs
    - os.getcwd
    - jupyter_client.utils._expand_path
    - s.replace
    - os.path.abspath
    - os.path.join
    - <builtin>.isinstance
    - find_connection_file.strip
    - os.path.expanduser
    - os.path.isfile
    - 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: 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 0x7f34ff5c7ee0>
    argNames:
    - connection_info
    - sshserver
    - sshkey
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 241
    functionName: jupyter_client.connect.tunnel_to_kernel
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.tuple
    - f.read
    - sockets.append
    - json.loads
    - sock.close
    - <builtin>.zip
    - <builtin>.open
    - <builtin>.isinstance
    - socket.socket
    - sock.bind
    - <builtin>.range
    - ports.append
    - sock.getsockname
    - jupyter_client.ssh.tunnel.select_random_ports
    - jupyter_client.ssh.tunnel.try_passwordless_ssh
    - getpass.getpass
    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: 42
    functionName: jupyter_client.ssh.tunnel.select_random_ports
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 3
    functionsReached:
    - sockets.append
    - socket.socket
    - sock.bind
    - <builtin>.range
    - ports.append
    - sock.getsockname
    - sock.close
    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 0x7f34fe964f70>
    argNames:
    - server
    - keyfile
    - paramiko
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 62
    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: 1
    functionLinenumber: -1
    functionName: jupyter_client.connect.ConnectionFileMixin
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - traitlets.Bool
    - traitlets.Unicode
    - traitlets.CaselessStrEnum
    - traitlets.observe
    - traitlets.Integer
    - 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: 322
    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: 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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.CaselessStrEnum
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 351
    functionName: jupyter_client.connect.ConnectionFileMixin._ip_default
    functionSourceFile: jupyter_client.connect
    functionUses: 11
    functionsReached:
    - jupyter_client.localinterfaces.localhost
    - os.path.splitext
    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: 361
    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: 377
    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: 383
    functionName: jupyter_client.connect.ConnectionFileMixin._session_default
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - obj.isoformat
    - <builtin>.type
    - warnings.warn
    - obj.items
    - <builtin>.repr
    - <builtin>.str
    - jupyter_client.session.Session._new_auth
    - traitlets.Any
    - <builtin>.list
    - pickle.loads
    - json.dumps
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.session.json_unpacker
    - math.isnan
    - <builtin>.int
    - <builtin>.float
    - binascii.b2a_base64
    - <builtin>.len
    - traitlets.log.get_logger
    - jupyter_client.session.Session._check_packers
    - jupyter_client.jsonutil.json_clean
    - traitlets.utils.importstring.import_item
    - <builtin>.map
    - os.getpid
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - jupyter_client.session.json_packer
    - hmac.HMAC
    - jupyter_client.session.pickle_packer
    - obj.strftime
    - binascii.b2a_base64.decode
    - jupyter_client.session.utcnow
    - traitlets.log.get_logger.warning
    - datetime.datetime.now
    - <builtin>.hasattr
    - pickle.dumps
    - jupyter_client.session.Session.__init__
    - s.decode
    - <builtin>.isinstance
    - <builtin>.super
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.set
    - json.loads
    - math.isinf
    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 0x7f34fe95d250>
    argNames:
    - self
    - session
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 392
    functionName: jupyter_client.connect.ConnectionFileMixin.get_connection_info
    functionSourceFile: jupyter_client.connect
    functionUses: 8
    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: traitlets.Instance.clone
    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: info.update
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 433
    functionName: jupyter_client.connect.ConnectionFileMixin.blocking_client
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - traitlets.Instance.clone
    - info.update
    - bc.load_connection_info
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - traitlets.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: bc.load_connection_info
    functionSourceFile: <builtin>
    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: 440
    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: 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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 453
    functionName: jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    functionSourceFile: jupyter_client.connect
    functionUses: 4
    functionsReached:
    - os.remove
    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: 464
    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: 480
    functionName: jupyter_client.connect.ConnectionFileMixin.cleanup_random_ports
    functionSourceFile: jupyter_client.connect
    functionUses: 1
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - os.remove
    - <builtin>.setattr
    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: 2
    functionLinenumber: 495
    functionName: jupyter_client.connect.ConnectionFileMixin.write_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 8
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.getattr
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - os.path.exists
    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 0x7f34fe810040>
    argNames:
    - self
    - connection_file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 521
    functionName: jupyter_client.connect.ConnectionFileMixin.load_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 4
    functionsReached:
    - json.load
    - jupyter_client.localinterfaces.localhost
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.getattr
    - <builtin>.setattr
    - <builtin>.open
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - <builtin>.isinstance
    - info.get
    - key.encode
    - os.path.splitext
    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: 537
    functionName: jupyter_client.connect.ConnectionFileMixin.load_connection_info
    functionSourceFile: jupyter_client.connect
    functionUses: 10
    functionsReached:
    - jupyter_client.localinterfaces.localhost
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.getattr
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - <builtin>.isinstance
    - info.get
    - key.encode
    - os.path.splitext
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 568
    functionName: jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    functionSourceFile: jupyter_client.connect
    functionUses: 4
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - conn2.get
    - os.path.splitext
    - json.load
    - jupyter_client.localinterfaces.localhost
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - <builtin>.getattr
    - info.get
    - key.encode
    - traitlets.Instance.clone
    - info.update
    - <builtin>.open
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - conn1.get
    - os.path.exists
    - <builtin>.all
    - os.remove
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    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: 615
    functionName: jupyter_client.connect.ConnectionFileMixin._equal_connections
    functionSourceFile: jupyter_client.connect
    functionUses: 5
    functionsReached:
    - conn1.get
    - conn2.get
    - <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: 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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f34fe870cd0>
    argNames:
    - self
    - channel
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 647
    functionName: jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    functionSourceFile: jupyter_client.connect
    functionUses: 18
    functionsReached:
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - 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.socket
    functionSourceFile: traitlets
    functionUses: 19
    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 0x7f34fe6b9d90>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 676
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_hb
    functionSourceFile: jupyter_client.connect
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    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: 696
    functionName: jupyter_client.connect.LocalPortCache.__init__
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.set
    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: 700
    functionName: jupyter_client.connect.LocalPortCache.find_available_port
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - tmp_sock.setsockopt
    - tmp_sock.bind
    - tmp_sock.getsockname
    - tmp_sock.close
    - socket.socket
    - traitlets.config.SingletonConfigurable.currently_used_ports.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: 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: 714
    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: 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: 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: 20
    functionName: jupyter_client.localinterfaces._uniq_stable
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 10
    functionsReached:
    - value.append
    - seen.add
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.append
    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: seen.add
    functionSourceFile: <builtin>
    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:
    - cmd
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 35
    functionName: jupyter_client.localinterfaces._get_output
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 6
    functionsReached:
    - subprocess.Popen.communicate
    - subprocess.Popen
    - stdout.decode
    - stderr.decode
    - 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
    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: 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: 12
    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: 49
    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: 53
    functionName: jupyter_client.localinterfaces._only_once.wrapped
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 0
    functionsReached:
    - m.group
    - ip.startswith
    - warnings.warn
    - subprocess.Popen
    - local_ips.extend
    - addrs.append
    - jupyter_client.localinterfaces._load_ips_ipconfig
    - psutil.net_if_addrs
    - netifaces.interfaces
    - subprocess.STARTUPINFO
    - seen.add
    - LOCAL_IPS.extend
    - jupyter_client.localinterfaces._load_ips_dumb
    - <builtin>.len
    - stderr.decode
    - jupyter_client.localinterfaces._load_ips
    - jupyter_client.localinterfaces._get_output
    - socket.gethostname
    - _ipconfig_ipv4_pat.match
    - jupyter_client.localinterfaces._uniq_stable
    - local_ips.append
    - public_ips.append
    - jupyter_client.localinterfaces._load_ips_netifaces
    - value.append
    - out.splitlines
    - line.lower
    - jupyter_client.localinterfaces._load_ips_psutil
    - stdout.decode
    - jupyter_client.localinterfaces._load_ips_ifconfig
    - addr.startswith
    - iface.startswith
    - hostname.endswith
    - jupyter_client.localinterfaces._load_ips_ip
    - local_ips.insert
    - line.strip
    - subprocess.Popen.communicate
    - _ifconfig_ipv4_pat.match
    - <builtin>.all
    - netifaces.ifaddresses
    - jupyter_client.localinterfaces._populate_from_list
    - jupyter_client.localinterfaces._load_ips_gethostbyname
    - <builtin>.set
    - entry.get
    - socket.gethostbyname_ex
    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 0x7f34fefb68b0>
    argNames:
    - suppress_exceptions
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 254
    functionName: jupyter_client.localinterfaces._load_ips
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 2
    functionsReached:
    - m.group
    - ip.startswith
    - warnings.warn
    - subprocess.Popen
    - local_ips.extend
    - addrs.append
    - jupyter_client.localinterfaces._load_ips_ipconfig
    - psutil.net_if_addrs
    - netifaces.interfaces
    - subprocess.STARTUPINFO
    - seen.add
    - LOCAL_IPS.extend
    - jupyter_client.localinterfaces._load_ips_dumb
    - <builtin>.len
    - stderr.decode
    - jupyter_client.localinterfaces._get_output
    - socket.gethostname
    - _ipconfig_ipv4_pat.match
    - jupyter_client.localinterfaces._uniq_stable
    - local_ips.append
    - public_ips.append
    - jupyter_client.localinterfaces._load_ips_netifaces
    - value.append
    - out.splitlines
    - line.lower
    - jupyter_client.localinterfaces._load_ips_psutil
    - stdout.decode
    - jupyter_client.localinterfaces._load_ips_ifconfig
    - addr.startswith
    - iface.startswith
    - hostname.endswith
    - jupyter_client.localinterfaces._load_ips_ip
    - local_ips.insert
    - line.strip
    - subprocess.Popen.communicate
    - _ifconfig_ipv4_pat.match
    - <builtin>.all
    - netifaces.ifaddresses
    - jupyter_client.localinterfaces._populate_from_list
    - jupyter_client.localinterfaces._load_ips_gethostbyname
    - <builtin>.set
    - entry.get
    - socket.gethostbyname_ex
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 63
    functionName: 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: 66
    functionName: jupyter_client.localinterfaces._requires_ips.ips_loaded
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 0
    functionsReached:
    - jupyter_client.localinterfaces.is_public_ip
    - m.group
    - ip.startswith
    - jupyter_client.localinterfaces.public_ips
    - warnings.warn
    - subprocess.Popen
    - local_ips.extend
    - addrs.append
    - jupyter_client.localinterfaces._load_ips_ipconfig
    - psutil.net_if_addrs
    - netifaces.interfaces
    - subprocess.STARTUPINFO
    - jupyter_client.localinterfaces.localhost
    - seen.add
    - jupyter_client.localinterfaces.is_local_ip
    - LOCAL_IPS.extend
    - jupyter_client.localinterfaces._load_ips_dumb
    - <builtin>.set
    - <builtin>.len
    - stderr.decode
    - jupyter_client.localinterfaces._load_ips
    - jupyter_client.localinterfaces._get_output
    - socket.gethostname
    - _ipconfig_ipv4_pat.match
    - jupyter_client.localinterfaces._uniq_stable
    - local_ips.append
    - public_ips.append
    - jupyter_client.localinterfaces._load_ips_netifaces
    - value.append
    - out.splitlines
    - line.lower
    - jupyter_client.localinterfaces._load_ips_psutil
    - stdout.decode
    - jupyter_client.localinterfaces._load_ips_ifconfig
    - addr.startswith
    - iface.startswith
    - jupyter_client.localinterfaces._load_ips_ip
    - hostname.endswith
    - local_ips.insert
    - line.strip
    - subprocess.Popen.communicate
    - _ifconfig_ipv4_pat.match
    - <builtin>.all
    - netifaces.ifaddresses
    - jupyter_client.localinterfaces._populate_from_list
    - jupyter_client.localinterfaces._load_ips_gethostbyname
    - jupyter_client.localinterfaces.local_ips
    - entry.get
    - socket.gethostbyname_ex
    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: 331
    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: 313
    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: 325
    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: 307
    functionName: jupyter_client.localinterfaces.local_ips
    functionSourceFile: ''
    functionUses: 2
    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: 78
    functionName: jupyter_client.localinterfaces._populate_from_list
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 6
    functionsReached:
    - ip.startswith
    - value.append
    - public_ips.append
    - seen.add
    - local_ips.extend
    - <builtin>.set
    - local_ips.append
    - local_ips.insert
    - jupyter_client.localinterfaces._uniq_stable
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 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: 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: local_ips.insert
    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: local_ips.extend
    functionSourceFile: <builtin>
    functionUses: 9
    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: 107
    functionName: jupyter_client.localinterfaces._load_ips_ifconfig
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - m.group
    - ip.startswith
    - subprocess.Popen
    - local_ips.extend
    - addrs.append
    - subprocess.STARTUPINFO
    - seen.add
    - stderr.decode
    - jupyter_client.localinterfaces._get_output
    - jupyter_client.localinterfaces._uniq_stable
    - local_ips.append
    - public_ips.append
    - value.append
    - out.splitlines
    - stdout.decode
    - local_ips.insert
    - line.strip
    - subprocess.Popen.communicate
    - _ifconfig_ipv4_pat.match
    - jupyter_client.localinterfaces._populate_from_list
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 125
    functionName: jupyter_client.localinterfaces._load_ips_ip
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - ip.startswith
    - subprocess.Popen
    - local_ips.extend
    - addrs.append
    - subprocess.STARTUPINFO
    - seen.add
    - <builtin>.len
    - stderr.decode
    - jupyter_client.localinterfaces._get_output
    - jupyter_client.localinterfaces._uniq_stable
    - local_ips.append
    - public_ips.append
    - value.append
    - out.splitlines
    - line.lower
    - stdout.decode
    - local_ips.insert
    - subprocess.Popen.communicate
    - jupyter_client.localinterfaces._populate_from_list
    - <builtin>.set
    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: 141
    functionName: jupyter_client.localinterfaces._load_ips_ipconfig
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - m.group
    - ip.startswith
    - subprocess.Popen
    - local_ips.extend
    - addrs.append
    - subprocess.STARTUPINFO
    - seen.add
    - stderr.decode
    - jupyter_client.localinterfaces._get_output
    - _ipconfig_ipv4_pat.match
    - jupyter_client.localinterfaces._uniq_stable
    - local_ips.append
    - public_ips.append
    - value.append
    - out.splitlines
    - stdout.decode
    - local_ips.insert
    - line.strip
    - subprocess.Popen.communicate
    - jupyter_client.localinterfaces._populate_from_list
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _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: 154
    functionName: jupyter_client.localinterfaces._load_ips_psutil
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - public_ips.append
    - value.append
    - seen.add
    - jupyter_client.localinterfaces._uniq_stable
    - <builtin>.set
    - local_ips.extend
    - addr.startswith
    - iface.startswith
    - psutil.net_if_addrs
    - local_ips.insert
    - local_ips.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: psutil.net_if_addrs
    functionSourceFile: psutil
    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: 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: addr.startswith
    functionSourceFile: <builtin>
    functionUses: 5
    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: 183
    functionName: jupyter_client.localinterfaces._load_ips_netifaces
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - value.append
    - public_ips.append
    - seen.add
    - addr.startswith
    - netifaces.ifaddresses
    - iface.startswith
    - local_ips.extend
    - <builtin>.set
    - entry.get
    - local_ips.append
    - netifaces.interfaces
    - local_ips.insert
    - jupyter_client.localinterfaces._uniq_stable
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 213
    functionName: jupyter_client.localinterfaces._load_ips_gethostbyname
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - ip.startswith
    - <builtin>.all
    - value.append
    - seen.add
    - LOCAL_IPS.extend
    - <builtin>.set
    - socket.gethostname
    - hostname.endswith
    - socket.gethostbyname_ex
    - jupyter_client.localinterfaces._uniq_stable
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 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: 245
    functionName: jupyter_client.localinterfaces._load_ips_dumb
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    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: 75
    functionName: jupyter_client.ssh.tunnel._try_passwordless_openssh
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - env.pop
    - p.expect
    - os.environ.copy
    - pexpect.spawn
    linkageType: pythonLinkage
    raised:
    - SSHException
    - 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: 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: 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: 105
    functionName: jupyter_client.ssh.tunnel._try_passwordless_paramiko
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 1
    functionsReached:
    - client.connect
    - <builtin>.int
    - paramiko.SSHClient
    - server.split
    - jupyter_client.ssh.tunnel._split_server
    - client.load_system_host_keys
    - client.set_missing_host_key_policy
    - client.close
    - paramiko.WarningPolicy
    - getpass.getuser
    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: 308
    functionName: jupyter_client.ssh.tunnel._split_server
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 3
    functionsReached:
    - server.split
    - <builtin>.int
    - 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 0x7f34ff69ddf0>
    - <ast.Constant object at 0x7f34ff69dbb0>
    - <ast.Constant object at 0x7f34ff69d8b0>
    - <ast.Constant object at 0x7f34ff69d7c0>
    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: 127
    functionName: jupyter_client.ssh.tunnel.tunnel_connection
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - typing.cast
    - sockets.append
    - <builtin>.int
    - addr.split
    - socket.socket
    - socket.connect
    - sock.bind
    - <builtin>.range
    - sock.getsockname
    - ports.append
    - jupyter_client.ssh.tunnel.select_random_ports
    - sock.close
    - jupyter_client.ssh.tunnel.open_tunnel
    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 0x7f34ff69d0a0>
    - <ast.Constant object at 0x7f34ff69de20>
    - <ast.Constant object at 0x7f34ff69db20>
    - <ast.Constant object at 0x7f34ff2507f0>
    argNames:
    - addr
    - server
    - keyfile
    - password
    - paramiko
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 156
    functionName: jupyter_client.ssh.tunnel.open_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 1
    functionsReached:
    - sockets.append
    - typing.cast
    - <builtin>.int
    - addr.split
    - socket.socket
    - sock.bind
    - <builtin>.range
    - sock.getsockname
    - ports.append
    - jupyter_client.ssh.tunnel.select_random_ports
    - 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: socket.connect
    functionSourceFile: <builtin>
    functionUses: 1
    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 0x7f34feb433d0>
    - <ast.Constant object at 0x7f34feb43190>
    - <ast.Constant object at 0x7f34feb43370>
    - <ast.Constant object at 0x7f34feb438b0>
    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: 194
    functionName: jupyter_client.ssh.tunnel.openssh_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - cmd.replace
    - output.find
    - tunnel.expect
    - warnings.warn
    - tunnel.sendline
    - <builtin>.int
    - atexit.register
    - server.split
    - pexpect.spawn
    - tunnel.wait
    - env.pop
    - pexpect.run
    - os.environ.copy
    - getpass.getpass
    linkageType: pythonLinkage
    raised:
    - SSHException
    - ImportError
    - 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: 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: atexit.register
    functionSourceFile: atexit
    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: 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: 304
    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 0x7f34ff2b8f10>
    - <ast.Constant object at 0x7f34ff2b8640>
    - <ast.Constant object at 0x7f34ff2b81c0>
    - <ast.Constant object at 0x7f34ff6f9d30>
    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: 321
    functionName: jupyter_client.ssh.tunnel.paramiko_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - client.connect
    - <builtin>.int
    - multiprocessing.Process.start
    - server.split
    - jupyter_client.ssh.tunnel._split_server
    - paramiko.SSHClient
    - client.load_system_host_keys
    - multiprocessing.Process
    - client.set_missing_host_key_policy
    - jupyter_client.ssh.tunnel._try_passwordless_paramiko
    - paramiko.WarningPolicy
    - client.close
    - getpass.getuser
    - 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 0x7f34fed44e50>
    - <ast.Constant object at 0x7f34fed44e80>
    argNames:
    - lport
    - rport
    - server
    - remoteip
    - keyfile
    - password
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 386
    functionName: jupyter_client.ssh.tunnel._paramiko_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - socketserver.ThreadingTCPServer.serve_forever
    - client.get_transport
    - socketserver.ThreadingTCPServer.__init__
    - sys.exit
    - signal.signal
    - client.connect
    - warnings.warn
    - <builtin>.int
    - paramiko.SSHClient
    - server.split
    - jupyter_client.ssh.tunnel._split_server
    - client.load_system_host_keys
    - client.set_missing_host_key_policy
    - jupyter_client.ssh.forward.forward_tunnel
    - paramiko.WarningPolicy
    - 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: 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: 88
    functionName: jupyter_client.ssh.forward.forward_tunnel
    functionSourceFile: jupyter_client.ssh.forward
    functionUses: 1
    functionsReached:
    - socketserver.ThreadingTCPServer.serve_forever
    - socketserver.ThreadingTCPServer.__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: 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.ssh_transport.open_channel
    - chan.close
    - chan.getpeername
    - select.select
    - socketserver.BaseRequestHandler.request.getpeername
    - <builtin>.repr
    - socketserver.BaseRequestHandler.request.recv
    - socketserver.BaseRequestHandler.request.close
    - chan.recv
    - chan.send
    - <builtin>.len
    - logger.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: 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: 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: 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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 70
    functionName: jupyter_client.utils._expand_path
    functionSourceFile: jupyter_client.utils
    functionUses: 5
    functionsReached:
    - os.path.expanduser
    - s.replace
    - 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: 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.expandvars
    functionSourceFile: os
    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.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: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: jupyter_client.manager._get_future
    functionSourceFile: jupyter_client.manager
    functionUses: 2
    functionsReached:
    - asyncio.get_running_loop
    - concurrent.futures.Future
    - asyncio.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.futures.Future
    functionSourceFile: asyncio
    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:
    - method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    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: 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: 6
    functionLinenumber: 81
    functionName: jupyter_client.manager.in_pending_state.wrapper
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - jupyter_client.manager.KernelManager._connect_control_socket
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.str
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - traitlets.Instance.send
    - jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    - jupyter_client.manager.KernelManager._async_pre_start_kernel
    - jupyter_client.manager.KernelManager._close_control_socket
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - conn2.get
    - asyncio.get_running_loop
    - jupyter_client.manager.KernelManager._async_cleanup_resources
    - jupyter_client.manager.KernelManager._async_shutdown_kernel
    - jupyter_client.manager.KernelManager._async_launch_kernel
    - jupyter_client.manager.KernelManager._async_signal_kernel
    - json.load
    - jupyter_client.localinterfaces.localhost
    - uuid.uuid4
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - <builtin>.max
    - jupyter_client.manager.KernelManager._async_start_kernel
    - jupyter_client.manager.KernelManager._async_request_shutdown
    - <builtin>.getattr
    - jupyter_client.manager.KernelManager._async_post_start_kernel
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    - kw.pop
    - asyncio.sleep
    - jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    - info.get
    - concurrent.futures.Future
    - jupyter_client.manager.KernelManager.start_restarter
    - key.encode
    - asyncio.futures.Future
    - jupyter_client.manager.KernelManager._async_wait
    - traitlets.Instance.clone
    - jupyter_client.manager._get_future
    - typing.cast
    - info.update
    - os.path.splitext
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.open
    - jupyter_client.manager.KernelManager._async_interrupt_kernel
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.manager.KernelManager._async_is_alive
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - conn1.get
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - os.path.exists
    - <builtin>.all
    - jupyter_client.manager.KernelManager._async_kill_kernel
    - traitlets.Instance.msg
    - os.remove
    - <builtin>.setattr
    - asyncio.wait_for
    - asyncio.ensure_future
    - <builtin>.isinstance
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - traitlets.Instance.destroy
    - kw.copy
    - jupyter_client.manager.KernelManager._async_finish_shutdown
    - jupyter_client.manager.KernelManager.stop_restarter
    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: 422
    functionName: jupyter_client.manager.KernelManager._async_start_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 2
    functionsReached:
    - jupyter_client.manager.KernelManager._connect_control_socket
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.str
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - jupyter_client.manager.KernelManager._async_pre_start_kernel
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - conn2.get
    - os.path.splitext
    - jupyter_client.manager.KernelManager._async_launch_kernel
    - json.load
    - jupyter_client.localinterfaces.localhost
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - uuid.uuid4
    - <builtin>.getattr
    - jupyter_client.manager.KernelManager._async_post_start_kernel
    - jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    - traitlets.config.LoggingConfigurable.log.debug
    - kw.pop
    - info.get
    - jupyter_client.manager.KernelManager.start_restarter
    - key.encode
    - traitlets.Instance.clone
    - info.update
    - <builtin>.open
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - conn1.get
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - os.path.exists
    - <builtin>.all
    - os.remove
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - <builtin>.isinstance
    - kw.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f34fe963250>
    - <ast.Constant object at 0x7f34fe9632b0>
    argNames:
    - self
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 516
    functionName: jupyter_client.manager.KernelManager._async_shutdown_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 2
    functionsReached:
    - jupyter_client.manager.KernelManager._connect_control_socket
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    - traitlets.Instance.send
    - jupyter_client.manager.KernelManager._close_control_socket
    - traitlets.Instance.socket
    - jupyter_client.manager.KernelManager._async_cleanup_resources
    - <builtin>.max
    - jupyter_client.manager.KernelManager._async_signal_kernel
    - jupyter_client.manager.KernelManager._async_request_shutdown
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - asyncio.sleep
    - jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    - jupyter_client.manager.KernelManager._async_wait
    - typing.cast
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_client.manager.KernelManager._async_is_alive
    - jupyter_client.manager.KernelManager._async_interrupt_kernel
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - jupyter_client.manager.KernelManager._async_kill_kernel
    - traitlets.Instance.msg
    - os.remove
    - asyncio.wait_for
    - asyncio.ensure_future
    - <builtin>.isinstance
    - traitlets.Instance.destroy
    - jupyter_client.manager.KernelManager._async_finish_shutdown
    - jupyter_client.manager.KernelManager.stop_restarter
    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: 109
    functionName: jupyter_client.manager.KernelManager.__init__
    functionSourceFile: jupyter_client.manager
    functionUses: 4
    functionsReached:
    - kwargs.pop
    - warnings.warn
    - <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.Instance
    - functools.wraps
    - traitlets.Bool
    - typing.cast
    - traitlets.Unicode
    - traitlets.Dict
    - jupyter_core.utils.run_sync
    - traitlets.observe
    - traitlets.observe_compat
    - traitlets.default
    - traitlets.Any
    - traitlets.Float
    - typing.no_type_check
    - traitlets.DottedObjectName
    - traitlets.Type
    - jupyter_client.manager.in_pending_state
    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: 132
    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: 143
    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: 147
    functionName: jupyter_client.manager.KernelManager._client_class_changed
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - <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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 160
    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.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: 165
    functionName: jupyter_client.manager.KernelManager._kernel_spec_manager_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: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 185
    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: 193
    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: 205
    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: 209
    functionName: jupyter_client.manager.KernelManager.ready
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - jupyter_client.manager._get_future
    - asyncio.get_running_loop
    - concurrent.futures.Future
    - asyncio.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: 216
    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: 231
    functionName: jupyter_client.manager.KernelManager.__del__
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - os.remove
    - jupyter_client.manager.KernelManager._close_control_socket
    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: 369
    functionName: jupyter_client.manager.KernelManager._close_control_socket
    functionSourceFile: ''
    functionUses: 5
    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: 239
    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: 243
    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 0x7f34ff64d190>
    argNames:
    - self
    - callback
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 247
    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 0x7f34ffac5a60>
    argNames:
    - self
    - callback
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 253
    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: 263
    functionName: jupyter_client.manager.KernelManager.client
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.clone
    - info.update
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - kw.update
    - 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: kw.update
    functionSourceFile: <builtin>
    functionUses: 2
    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: 282
    functionName: jupyter_client.manager.KernelManager.update_env
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    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 0x7f34fe7635b0>
    argNames:
    - self
    - extra_arguments
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 303
    functionName: jupyter_client.manager.KernelManager.format_kernel_cmd
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - re.compile
    - pat.sub
    - <builtin>.isinstance
    - ns.update
    - os.path.realpath
    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: 340
    functionName: jupyter_client.manager.KernelManager.format_kernel_cmd.from_ns
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - ns.get
    - match.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: 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: 346
    functionName: jupyter_client.manager.KernelManager._async_launch_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - conn2.get
    - os.path.splitext
    - json.load
    - jupyter_client.localinterfaces.localhost
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - <builtin>.getattr
    - jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    - info.get
    - key.encode
    - traitlets.Instance.clone
    - info.update
    - <builtin>.open
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - conn1.get
    - os.path.exists
    - <builtin>.all
    - os.remove
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 364
    functionName: jupyter_client.manager.KernelManager._connect_control_socket
    functionSourceFile: jupyter_client.manager
    functionUses: 7
    functionsReached:
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    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: 375
    functionName: jupyter_client.manager.KernelManager._async_pre_start_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - uuid.uuid4
    - kw.pop
    - <builtin>.str
    - traitlets.config.SingletonConfigurable.instance
    - kw.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: 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: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 406
    functionName: jupyter_client.manager.KernelManager._async_post_start_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - jupyter_client.manager.KernelManager._connect_control_socket
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - jupyter_client.manager.KernelManager.start_restarter
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    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 0x7f34fe98f340>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 444
    functionName: jupyter_client.manager.KernelManager._async_request_shutdown
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - jupyter_client.manager.KernelManager._connect_control_socket
    - <builtin>.getattr
    - traitlets.Instance.msg
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - traitlets.Instance.send
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    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 0x7f34ff4448b0>
    - <ast.Constant object at 0x7f34ff4446d0>
    - <ast.Constant object at 0x7f34ff444370>
    argNames:
    - self
    - waittime
    - pollinterval
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 457
    functionName: jupyter_client.manager.KernelManager._async_finish_shutdown
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - <builtin>.max
    - jupyter_client.manager.KernelManager._async_kill_kernel
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.manager.KernelManager._async_is_alive
    - asyncio.wait_for
    - asyncio.sleep
    - jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    - jupyter_client.manager.KernelManager._async_wait
    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 0x7f34ff5d64f0>
    argNames:
    - self
    - pollinterval
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 704
    functionName: jupyter_client.manager.KernelManager._async_wait
    functionSourceFile: jupyter_client.manager
    functionUses: 5
    functionsReached:
    - asyncio.sleep
    - jupyter_client.manager.KernelManager._async_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.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 0x7f34fea04970>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 609
    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 0x7f34ff00e280>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 617
    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
    - asyncio.wait_for
    - asyncio.sleep
    - jupyter_client.manager.KernelManager._async_wait
    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 0x7f34ff2826d0>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 498
    functionName: jupyter_client.manager.KernelManager._async_cleanup_resources
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - os.remove
    - jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    - traitlets.Instance.destroy
    - jupyter_client.manager.KernelManager._close_control_socket
    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: 640
    functionName: jupyter_client.manager.KernelManager._async_interrupt_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - jupyter_client.manager.KernelManager._async_signal_kernel
    - jupyter_client.manager.KernelManager._connect_control_socket
    - typing.cast
    - <builtin>.getattr
    - traitlets.Instance.msg
    - traitlets.config.LoggingConfigurable.log.debug
    - asyncio.ensure_future
    - <builtin>.isinstance
    - sock.connect
    - traitlets.Instance.send
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    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 0x7f34ff6482e0>
    - <ast.Constant object at 0x7f34ff648220>
    argNames:
    - self
    - now
    - newports
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 557
    functionName: jupyter_client.manager.KernelManager._async_restart_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - jupyter_client.manager.KernelManager._connect_control_socket
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.str
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - sock.connect
    - traitlets.Instance.send
    - jupyter_client.manager.KernelManager._async_pre_start_kernel
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    - jupyter_client.manager.KernelManager._close_control_socket
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - conn2.get
    - jupyter_client.manager.KernelManager._async_cleanup_resources
    - jupyter_client.manager.KernelManager._async_shutdown_kernel
    - jupyter_client.manager.KernelManager._async_launch_kernel
    - json.load
    - jupyter_client.manager.KernelManager._async_signal_kernel
    - jupyter_client.localinterfaces.localhost
    - uuid.uuid4
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - <builtin>.max
    - jupyter_client.manager.KernelManager._async_start_kernel
    - jupyter_client.manager.KernelManager._async_request_shutdown
    - <builtin>.getattr
    - jupyter_client.manager.KernelManager._async_post_start_kernel
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    - kw.pop
    - asyncio.sleep
    - jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    - info.get
    - jupyter_client.manager.KernelManager.start_restarter
    - key.encode
    - jupyter_client.connect.ConnectionFileMixin.cleanup_random_ports
    - jupyter_client.manager.KernelManager._async_wait
    - traitlets.Instance.clone
    - typing.cast
    - info.update
    - os.path.splitext
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - <builtin>.open
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_client.manager.KernelManager._async_interrupt_kernel
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.manager.KernelManager._async_is_alive
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - conn1.get
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - os.path.exists
    - <builtin>.all
    - jupyter_client.manager.KernelManager._async_kill_kernel
    - traitlets.Instance.msg
    - os.remove
    - <builtin>.setattr
    - asyncio.ensure_future
    - asyncio.wait_for
    - <builtin>.isinstance
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - traitlets.Instance.destroy
    - kw.copy
    - jupyter_client.manager.KernelManager._async_finish_shutdown
    - jupyter_client.manager.KernelManager.stop_restarter
    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: 0
    functionLinenumber: 601
    functionName: jupyter_client.manager.KernelManager.owns_kernel
    functionSourceFile: jupyter_client.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: 605
    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: 673
    functionName: jupyter_client.manager.KernelManager._async_signal_kernel
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 690
    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.default
    - traitlets.Type
    - 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: 726
    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: 730
    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 0x7f34fe765bb0>
    - <ast.Constant object at 0x7f34fe765790>
    argNames:
    - startup_timeout
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 755
    functionName: jupyter_client.manager.start_new_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - kc.wait_for_ready
    - kc.stop_channels
    - jupyter_client.manager.KernelManager.__init__
    - warnings.warn
    - jupyter_core.utils.run_sync
    - <builtin>.super
    - jupyter_client.manager.AsyncKernelManager.client
    - kc.start_channels
    linkageType: pythonLinkage
    raised: []
    returnType: N/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 0x7f34fe6b9700>
    - <ast.Constant object at 0x7f34fe6b96a0>
    argNames:
    - startup_timeout
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 773
    functionName: jupyter_client.manager.start_new_async_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - kc.wait_for_ready
    - kc.stop_channels
    - jupyter_client.manager.KernelManager.__init__
    - warnings.warn
    - jupyter_core.utils.run_sync
    - <builtin>.super
    - jupyter_client.manager.AsyncKernelManager.client
    - kc.start_channels
    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: 3
    functionLinenumber: 792
    functionName: jupyter_client.manager.run_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - kc.wait_for_ready
    - kc.stop_channels
    - jupyter_client.manager.KernelManager.__init__
    - warnings.warn
    - jupyter_core.utils.run_sync
    - jupyter_client.manager.start_new_kernel
    - <builtin>.super
    - jupyter_client.manager.AsyncKernelManager.client
    - km.shutdown_kernel
    - kc.start_channels
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 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: 17
    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: 25
    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 0x7f34fe782850>
    - <ast.Constant object at 0x7f34fe7827c0>
    argNames:
    - self
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 30
    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 0x7f34fe7824c0>
    argNames:
    - self
    - now
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 35
    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: 40
    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: 44
    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: 49
    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: 54
    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: 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: 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: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - resource_dir
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: jupyter_client.kernelspec.KernelSpec.from_resource_dir
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - json.load
    - os.path.join
    - 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: 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: 48
    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: 61
    functionName: jupyter_client.kernelspec.KernelSpec.to_json
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - jupyter_client.kernelspec.KernelSpec.to_dict
    - json.dumps
    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: 72
    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: 84
    functionName: jupyter_client.kernelspec._is_kernel_dir
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 8
    functionsReached:
    - os.path.isdir
    - os.path.join
    - os.path.isfile
    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: 89
    functionName: jupyter_client.kernelspec._list_kernels_in
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 4
    functionsReached:
    - f.lower
    - os.listdir
    - jupyter_client.kernelspec._is_kernel_dir
    - warnings.warn
    - os.path.join
    - os.path.isdir
    - jupyter_client.kernelspec._is_valid_kernel_name
    - _kernel_name_pat.match
    - 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: 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: 114
    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: 118
    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.Bool
    - traitlets.Unicode
    - traitlets.List
    - traitlets.observe
    - traitlets.Set
    - <builtin>.list
    - 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: 143
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 148
    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: 174
    functionName: jupyter_client.kernelspec.KernelSpecManager._deprecated_trait
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.setattr
    - traitlets.config.LoggingConfigurable.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: 189
    functionName: jupyter_client.kernelspec.KernelSpecManager._kernel_dirs_default
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_path.append
    - IPython.paths.get_ipython_dir
    - os.path.join
    - 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: 202
    functionName: jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 3
    functionsReached:
    - f.lower
    - os.listdir
    - jupyter_client.kernelspec._is_kernel_dir
    - warnings.warn
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.debug
    - d.items
    - os.path.isdir
    - jupyter_client.kernelspec._is_valid_kernel_name
    - _kernel_name_pat.match
    - jupyter_client.kernelspec._list_kernels_in
    - kernels.items
    - 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: 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: 231
    functionName: jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 3
    functionsReached:
    - ipykernel.kernelspec.get_kernel_dict
    - traitlets.Type.from_resource_dir
    - traitlets.Type
    - traitlets.config.SingletonConfigurable.instance
    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: 254
    functionName: jupyter_client.kernelspec.KernelSpecManager._find_spec_directory
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 3
    functionsReached:
    - f.lower
    - os.listdir
    - jupyter_client.kernelspec._is_kernel_dir
    - os.path.join
    - os.path.isdir
    - os.path.isfile
    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: 272
    functionName: jupyter_client.kernelspec.KernelSpecManager.get_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 2
    functionsReached:
    - ipykernel.kernelspec.get_kernel_dict
    - f.lower
    - jupyter_client.kernelspec.KernelSpecManager._find_spec_directory
    - os.listdir
    - jupyter_client.kernelspec._is_kernel_dir
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.isdir
    - _kernel_name_pat.match
    - traitlets.config.SingletonConfigurable.instance
    - kernel_name.lower
    - jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name
    - traitlets.Type.from_resource_dir
    - traitlets.Type
    - os.path.isfile
    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: 289
    functionName: jupyter_client.kernelspec.KernelSpecManager.get_all_specs
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - jupyter_client.kernelspec.KernelSpecManager.get_kernel_spec
    - jupyter_client.kernelspec._is_kernel_dir
    - warnings.warn
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.isdir
    - jupyter_client.kernelspec._list_kernels_in
    - kernels.items
    - os.path.isfile
    - ipykernel.kernelspec.get_kernel_dict
    - jupyter_client.kernelspec.KernelSpecManager._find_spec_directory
    - os.listdir
    - traitlets.config.LoggingConfigurable.log.debug
    - d.items
    - spec.to_dict
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs
    - traitlets.config.SingletonConfigurable.instance
    - kernel_name.lower
    - traitlets.Type
    - f.lower
    - os.path.join
    - _kernel_name_pat.match
    - jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name
    - traitlets.Type.from_resource_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: spec.to_dict
    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
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 321
    functionName: jupyter_client.kernelspec.KernelSpecManager.remove_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - f.lower
    - os.path.islink
    - os.listdir
    - jupyter_client.kernelspec._is_kernel_dir
    - warnings.warn
    - os.remove
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs
    - traitlets.config.LoggingConfigurable.log.warning
    - d.items
    - os.path.join
    - os.path.isdir
    - jupyter_client.kernelspec._is_valid_kernel_name
    - _kernel_name_pat.match
    - shutil.rmtree
    - jupyter_client.kernelspec._list_kernels_in
    - kernels.items
    - os.path.isfile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.islink
    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: 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 0x7f34fefb64f0>
    - <ast.Constant object at 0x7f34fefb6970>
    argNames:
    - self
    - kernel_name
    - user
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 340
    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: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 8
    IfCount: 6
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f34ff40ba30>
    - <ast.Constant object at 0x7f34ff40b040>
    - <ast.Constant object at 0x7f34ff40b940>
    - <ast.Constant object at 0x7f34ff40b880>
    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:
    - jupyter_client.kernelspec.KernelSpecManager._get_destination_dir
    - shutil.copytree
    - os.path.dirname
    - warnings.warn
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.join
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.isdir
    - _kernel_name_pat.match
    - source_dir.rstrip
    - os.path.basename
    - kernel_name.lower
    - shutil.rmtree
    - traitlets.config.LoggingConfigurable.log.info
    - os.path.abspath
    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: 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: 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 0x7f34feaf0520>
    argNames:
    - self
    - user
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 410
    functionName: jupyter_client.kernelspec.KernelSpecManager.install_native_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 1
    functionsReached:
    - warnings.warn
    - ipykernel.kernelspec.install
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 421
    functionName: jupyter_client.kernelspec.find_kernel_specs
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - f.lower
    - os.listdir
    - jupyter_client.kernelspec._is_kernel_dir
    - warnings.warn
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs
    - os.path.join
    - d.items
    - traitlets.config.LoggingConfigurable.log.debug
    - os.path.isdir
    - jupyter_client.kernelspec._is_valid_kernel_name
    - _kernel_name_pat.match
    - jupyter_client.kernelspec._list_kernels_in
    - kernels.items
    - os.path.isfile
    - traitlets.config.LoggingConfigurable.__init__
    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: 426
    functionName: jupyter_client.kernelspec.get_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - ipykernel.kernelspec.get_kernel_dict
    - f.lower
    - jupyter_client.kernelspec.KernelSpecManager._find_spec_directory
    - jupyter_client.kernelspec.KernelSpecManager.get_kernel_spec
    - os.listdir
    - jupyter_client.kernelspec._is_kernel_dir
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.isdir
    - _kernel_name_pat.match
    - traitlets.config.SingletonConfigurable.instance
    - kernel_name.lower
    - jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name
    - traitlets.Type.from_resource_dir
    - traitlets.Type
    - os.path.isfile
    - traitlets.config.LoggingConfigurable.__init__
    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 0x7f34feaf07f0>
    - <ast.Constant object at 0x7f34feaf06a0>
    - <ast.Constant object at 0x7f34fea0e2e0>
    - <ast.Constant object at 0x7f34fea0e760>
    argNames:
    - source_dir
    - kernel_name
    - user
    - replace
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 434
    functionName: jupyter_client.kernelspec.install_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - jupyter_client.kernelspec.KernelSpecManager._get_destination_dir
    - shutil.copytree
    - jupyter_client.kernelspec.KernelSpecManager.install_kernel_spec
    - os.path.dirname
    - warnings.warn
    - os.path.abspath
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.join
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.isdir
    - _kernel_name_pat.match
    - source_dir.rstrip
    - os.path.basename
    - kernel_name.lower
    - shutil.rmtree
    - traitlets.config.LoggingConfigurable.log.info
    - traitlets.config.LoggingConfigurable.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f34fea0ea60>
    argNames:
    - user
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 448
    functionName: jupyter_client.kernelspec.install_native_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - warnings.warn
    - ipykernel.kernelspec.install
    - jupyter_client.kernelspec.KernelSpecManager.install_native_kernel_spec
    - 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.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: 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
    - importlib_metadata.entry_points
    - <builtin>.super
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_all_provisioners
    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:
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner_config
    - importlib.metadata.entry_points
    - os.path.dirname
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._check_availability
    - importlib_metadata.EntryPoint
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner
    - kernel_spec.metadata.get
    - glob.glob
    - <builtin>.str
    - provisioner_cfg.get
    - importlib_metadata.entry_points
    - traitlets.config.SingletonConfigurable.log.warning
    - importlib.metadata.EntryPoint
    - env_provisioner.update
    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:
    - importlib.metadata.entry_points
    - os.path.dirname
    - importlib_metadata.EntryPoint
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner
    - glob.glob
    - importlib_metadata.entry_points
    - traitlets.config.SingletonConfigurable.log.warning
    - 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: 6
    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:
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner_config
    - importlib.metadata.entry_points
    - os.path.dirname
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._check_availability
    - importlib_metadata.EntryPoint
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner
    - glob.glob
    - kernel_spec.metadata.get
    - <builtin>.str
    - provisioner_cfg.get
    - importlib_metadata.entry_points
    - traitlets.config.SingletonConfigurable.log.debug
    - traitlets.config.SingletonConfigurable.log.warning
    - importlib.metadata.EntryPoint
    - env_provisioner.update
    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:
    - importlib.metadata.entry_points
    - importlib.metadata.EntryPoint
    - os.path.dirname
    - importlib_metadata.EntryPoint
    - glob.glob
    - traitlets.config.SingletonConfigurable.log.warning
    - importlib_metadata.entry_points
    linkageType: pythonLinkage
    raised: []
    returnType: N/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
    - abc.abstractmethod
    - traitlets.config.Unicode
    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 0x7f34fed44250>
    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 0x7f34fed44df0>
    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 0x7f34ff2b8dc0>
    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 0x7f34ff2b8880>
    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:
    - kwargs.pop
    - substituted_env.update
    - traitlets.config.LoggingConfigurable.kernel_spec.env.items
    - traitlets.config.LoggingConfigurable.kernel_spec.language.lower
    - jupyter_client.provisioning.provisioner_base.KernelProvisionerBase._finalize_env
    - jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.__apply_env_substitutions
    - env.pop
    - env.update
    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:
    - traitlets.config.LoggingConfigurable.kernel_spec.env.items
    - substituted_env.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: 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:
    - env.pop
    - traitlets.config.LoggingConfigurable.kernel_spec.language.lower
    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 0x7f34fe706460>
    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 0x7f34fe706220>
    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: traitlets.config.LoggingConfigurable.kernel_spec.language.lower
    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.LoggingConfigurable.kernel_spec.env.items
    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: 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.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:
    - fid.close
    - <builtin>.getattr
    - asyncio.sleep
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner.poll
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - os.killpg
    - <builtin>.hasattr
    - jupyter_client.win_interrupt.send_interrupt
    - ctypes.windll.kernel32.SetEvent
    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: 43
    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 0x7f34fed56d00>
    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.send_signal
    - <builtin>.hasattr
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner._tolerate_no_process
    - os.killpg
    - <builtin>.isinstance
    - ctypes.windll.kernel32.SetEvent
    - jupyter_client.win_interrupt.send_interrupt
    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 0x7f34ff269760>
    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.send_signal
    - <builtin>.hasattr
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner._tolerate_no_process
    - os.killpg
    - <builtin>.isinstance
    - ctypes.windll.kernel32.SetEvent
    - jupyter_client.win_interrupt.send_interrupt
    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 0x7f34ff31bcd0>
    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:
    - traitlets.config.SingletonConfigurable.instance
    - lpc.return_port
    - <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: lpc.return_port
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 157
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.pre_launch
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - lpc.find_available_port
    - jupyter_client.localinterfaces.is_local_ip
    - traitlets.config.LoggingConfigurable.parent.get_connection_info
    - traitlets.config.LoggingConfigurable.parent.write_connection_file
    - <builtin>.super
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_client.localinterfaces.local_ips
    - traitlets.config.LoggingConfigurable.parent.format_kernel_cmd
    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: 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: 207
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.launch_kernel
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - scrubbed_kwargs.pop
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner.launch_kernel
    - kwargs.copy
    - <builtin>.hasattr
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner._scrub_kwargs
    - os.getpgid
    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: 223
    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: 231
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.get_provisioner_info
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - provisioner_info.update
    - <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: 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: 237
    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.win_interrupt
    functionSourceFile: jupyter_client.win_interrupt
    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: 10
    functionName: jupyter_client.win_interrupt.create_interrupt_event
    functionSourceFile: jupyter_client.win_interrupt
    functionUses: 1
    functionsReached:
    - ctypes.pointer
    - ctypes.windll.kernel32.CreateEventA
    - ctypes.Structure.__init__
    - ctypes.sizeof
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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 0x7f34fe851fd0>
    - <ast.Constant object at 0x7f34fe851730>
    - <ast.Constant object at 0x7f34fe851550>
    - <ast.Constant object at 0x7f34fe8513a0>
    - <ast.Constant object at 0x7f34fe851790>
    - <ast.Constant object at 0x7f34fe851c70>
    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:
    - _winapi.GetCurrentProcess
    - msg.format
    - jupyter_client.win_interrupt.create_interrupt_event
    - ctypes.pointer
    - warnings.warn
    - subprocess.Popen
    - <builtin>.str
    - _subprocess.GetCurrentProcess
    - env.get
    - os.path.expanduser
    - traitlets.log.get_logger.error
    - sys.executable.endswith
    - <builtin>.int
    - kwargs.update
    - traitlets.log.get_logger
    - ctypes.Structure.__init__
    - _subprocess.DuplicateHandle
    - _winapi.DuplicateHandle
    - os.getpid
    - ctypes.sizeof
    - <builtin>.open
    - subprocess.Popen.stdin.close
    - os.environ.copy
    - ctypes.windll.kernel32.CreateEventA
    - kwargs.items
    - kwargs.setdefault
    - kw.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: 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: kwargs.update
    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: _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: _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: _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: kwargs.items
    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: 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: 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: 21
    functionName: jupyter_client.blocking.client.wrapped._
    functionSourceFile: jupyter_client.blocking.client
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - jupyter_client.client.KernelClient.shutdown
    - jupyter_client.blocking.client.wrapped
    - jupyter_client.client.KernelClient.execute
    - jupyter_client.client.validate_string_dict
    - traitlets.Instance.msg
    - jupyter_client.client.KernelClient.is_complete
    - <builtin>.isinstance
    - dct.items
    - jupyter_client.asynchronous.client.wrapped
    linkageType: 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:
    - basedoc.strip
    - jupyter_client.blocking.client.wrapped
    - jupyter_core.utils.run_sync
    - meth.__doc__.split
    - jupyter_client.client.reqrep
    - jupyter_client.asynchronous.client.wrapped
    - traitlets.Type
    - parts.append
    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 0x7f34fe71fa90>
    - <ast.Constant object at 0x7f34fe71f190>
    - <ast.Constant object at 0x7f34fe71f760>
    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
    - <builtin>.super
    - threading.Event
    - zmq.Poller
    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: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 1
    functionsReached: []
    linkageType: 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: 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
    - jupyter_core.utils.ensure_async
    - threading.Event.wait
    - jupyter_client.channels.HBChannel._create_socket
    - 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: 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
    - 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
    - jupyter_core.utils.ensure_async
    - loop.run_until_complete
    - jupyter_client.channels.HBChannel._async_run
    - loop.close
    - asyncio.set_event_loop
    - asyncio.new_event_loop
    - threading.Event.wait
    - jupyter_client.channels.HBChannel._create_socket
    - 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:
    - threading.Event.set
    - threading.Thread.join
    - jupyter_client.channels.HBChannel.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: threading.Event.set
    functionSourceFile: threading
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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 0x7f34fe7a74f0>
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f34feacd1c0>
    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:
    - <builtin>.int
    - 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: 234
    functionName: jupyter_client.channels.ZMQSocketChannel.get_msgs
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - msgs.append
    - <builtin>.int
    - jupyter_client.channels.ZMQSocketChannel.get_msg
    - jupyter_client.channels.ZMQSocketChannel._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: 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: 244
    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: 249
    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: 260
    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: 264
    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: 269
    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 0x7f34ff40bd30>
    argNames:
    - self
    - socket
    - session
    - loop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 279
    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: 296
    functionName: jupyter_client.channels.AsyncZMQSocketChannel._recv
    functionSourceFile: jupyter_client.channels
    functionUses: 2
    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 0x7f34ff5c7e20>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 302
    functionName: jupyter_client.channels.AsyncZMQSocketChannel.get_msg
    functionSourceFile: jupyter_client.channels
    functionUses: 1
    functionsReached:
    - jupyter_client.channels.AsyncZMQSocketChannel._recv
    - <builtin>.int
    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: 315
    functionName: jupyter_client.channels.AsyncZMQSocketChannel.get_msgs
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - msgs.append
    - jupyter_client.channels.AsyncZMQSocketChannel._recv
    - <builtin>.int
    - jupyter_client.channels.AsyncZMQSocketChannel.get_msg
    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: 325
    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: 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: 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: 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: 33
    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: 37
    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: 41
    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: 45
    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: 49
    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: 53
    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 0x7f34ff2b8b20>
    - <ast.Constant object at 0x7f34ff2b88e0>
    - <ast.Constant object at 0x7f34ff2b8c10>
    - <ast.Constant object at 0x7f34ff2b8dc0>
    - <ast.Constant object at 0x7f34ff2b8220>
    argNames:
    - self
    - shell
    - iopub
    - stdin
    - hb
    - control
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 61
    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: 73
    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: 78
    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: 83
    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: 87
    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: 91
    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: 95
    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: 99
    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: 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: 22
    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: 26
    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: 32
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 36
    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
    - tornado.web.RequestHandler.get_argument
    - <builtin>.hasattr
    - jupyter_core.utils.ensure_async
    - 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: 2
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.ws_authenticated
    - typing.cast
    - functools.wraps
    - <builtin>.setattr
    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: 62
    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
    - tornado.web.RequestHandler.get_argument
    - <builtin>.hasattr
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - jupyter_server.services.kernels.websocket.KernelWebsocketHandler.pre_get
    - tornado.web.RequestHandler.settings.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: 1
    functionLinenumber: 68
    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: 77
    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: 81
    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: 86
    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._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: 15
    functionName: jupyter_server._sysinfo.pkg_commit_hash
    functionSourceFile: jupyter_server._sysinfo
    functionUses: 8
    functionsReached:
    - os.path.dirname
    - subprocess.Popen
    - os.path.join
    - proc.communicate
    - repo_commit.strip
    - os.path.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 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: 63
    functionName: jupyter_server._sysinfo.pkg_info
    functionSourceFile: jupyter_server._sysinfo
    functionUses: 7
    functionsReached:
    - os.path.dirname
    - subprocess.Popen
    - os.path.join
    - jupyter_server._sysinfo.pkg_commit_hash
    - proc.communicate
    - repo_commit.strip
    - platform.platform
    - os.path.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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.Unicode.tag
    - typing.get_args
    - traitlets.Bool
    - traitlets.Unicode
    - traitlets.Dict
    - traitlets.List
    - traitlets.default
    - traitlets.validate
    - <builtin>.list
    - traitlets.Type
    - traitlets.Enum
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.get_args
    functionSourceFile: typing
    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.Enum
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    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: 206
    functionName: jupyter_server.auth.identity.IdentityProvider._token_default
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - os.urandom
    - token_file.read
    - <builtin>.open
    - os.getenv
    - binascii.hexlify
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 223
    functionName: jupyter_server.auth.identity.IdentityProvider._validate_updatable_fields
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - typing.get_args
    - <builtin>.list
    linkageType: pythonLinkage
    raised:
    - TraitError
    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: 236
    functionName: jupyter_server.auth.identity.IdentityProvider.get_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - m.group
    - http.cookies.Morsel
    - jupyter_server.auth.identity.IdentityProvider.set_login_cookie
    - handler.get_cookie
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - jupyter_server.auth.identity.IdentityProvider.clear_login_cookie
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - cookie_options.setdefault
    - tornado.escape.native_str
    - handler.add_header
    - jupyter_server.auth.utils.get_anonymous_username
    - handler.request.headers.get
    - jupyter_server.auth.identity.IdentityProvider.get_user_cookie
    - json.dumps
    - handler.get_secure_cookie
    - uuid.uuid4
    - cookie_options.update
    - traitlets.config.LoggingConfigurable.log.error
    - json.loads
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - morsel.set
    - <builtin>.len
    - jupyter_server.auth.identity.IdentityProvider.user_to_cookie
    - handler.get_argument
    - jupyter_server.auth.identity.IdentityProvider.get_user_token
    - jupyter_server.auth.identity.IdentityProvider.get_token
    - _non_alphanum.sub
    - typing.cast
    - morsel.OutputString
    - traitlets.config.LoggingConfigurable.log.warning
    - handler.set_secure_cookie
    - random.randint
    - tornado.httputil.format_timestamp
    - handler.clear_cookie
    - jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    - datetime.datetime.now
    - jupyter_server.auth.identity.IdentityProvider._force_clear_cookie
    - _user_cookie.decode
    - <builtin>.isinstance
    - datetime.timedelta
    - jupyter_server.auth.identity.IdentityProvider._get_user
    - handler.log.debug
    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: 251
    functionName: jupyter_server.auth.identity.IdentityProvider._get_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    functionsReached:
    - m.group
    - http.cookies.Morsel
    - jupyter_server.auth.identity.IdentityProvider.set_login_cookie
    - handler.get_cookie
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - jupyter_server.auth.identity.IdentityProvider.clear_login_cookie
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - cookie_options.setdefault
    - tornado.escape.native_str
    - handler.add_header
    - jupyter_server.auth.utils.get_anonymous_username
    - handler.request.headers.get
    - jupyter_server.auth.identity.IdentityProvider.get_user_cookie
    - json.dumps
    - handler.get_secure_cookie
    - uuid.uuid4
    - cookie_options.update
    - traitlets.config.LoggingConfigurable.log.error
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - morsel.set
    - <builtin>.len
    - jupyter_server.auth.identity.IdentityProvider.user_to_cookie
    - handler.get_argument
    - jupyter_server.auth.identity.IdentityProvider.get_user_token
    - jupyter_server.auth.identity.IdentityProvider.get_token
    - _non_alphanum.sub
    - typing.cast
    - morsel.OutputString
    - traitlets.config.LoggingConfigurable.log.warning
    - handler.set_secure_cookie
    - random.randint
    - tornado.httputil.format_timestamp
    - handler.clear_cookie
    - jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    - datetime.datetime.now
    - jupyter_server.auth.identity.IdentityProvider._force_clear_cookie
    - _user_cookie.decode
    - <builtin>.isinstance
    - datetime.timedelta
    - json.loads
    - handler.log.debug
    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: 479
    functionName: jupyter_server.auth.identity.IdentityProvider.get_user_token
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 2
    functionsReached:
    - m.group
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - jupyter_server.auth.utils.get_anonymous_username
    - handler.request.headers.get
    - jupyter_server.auth.identity.IdentityProvider.get_user_cookie
    - handler.get_secure_cookie
    - uuid.uuid4
    - traitlets.config.LoggingConfigurable.log.error
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.len
    - handler.get_argument
    - jupyter_server.auth.identity.IdentityProvider.get_token
    - _non_alphanum.sub
    - typing.cast
    - random.randint
    - jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    - _user_cookie.decode
    - <builtin>.isinstance
    - json.loads
    - handler.log.debug
    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: 438
    functionName: jupyter_server.auth.identity.IdentityProvider.get_user_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 3
    functionsReached:
    - _non_alphanum.sub
    - traitlets.config.LoggingConfigurable.log.error
    - jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - traitlets.config.LoggingConfigurable.log.debug
    - _user_cookie.decode
    - json.loads
    - handler.get_secure_cookie
    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: 381
    functionName: jupyter_server.auth.identity.IdentityProvider.set_login_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 3
    functionsReached:
    - _non_alphanum.sub
    - cookie_options.update
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - handler.set_secure_cookie
    - cookie_options.setdefault
    - jupyter_server.auth.identity.IdentityProvider.user_to_cookie
    - json.dumps
    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: 369
    functionName: jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 7
    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: 424
    functionName: jupyter_server.auth.identity.IdentityProvider.clear_login_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 2
    functionsReached:
    - tornado.httputil.format_timestamp
    - _non_alphanum.sub
    - http.cookies.Morsel
    - cookie_options.update
    - morsel.OutputString
    - datetime.datetime.now
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - morsel.set
    - jupyter_server.auth.identity.IdentityProvider._force_clear_cookie
    - cookie_options.setdefault
    - tornado.escape.native_str
    - datetime.timedelta
    - handler.add_header
    - handler.clear_cookie
    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: 514
    functionName: jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 5
    functionsReached:
    - uuid.uuid4
    - random.randint
    - <builtin>.len
    - jupyter_server.auth.utils.get_anonymous_username
    - handler.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - handler
    - user_data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 296
    functionName: jupyter_server.auth.identity.IdentityProvider.update_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    functionsReached:
    - jupyter_server.auth.identity.IdentityProvider.persist_user_model
    - typing.cast
    - jupyter_server.auth.identity.IdentityProvider.check_update
    - jupyter_server.auth.identity.IdentityProvider.update_user_model
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - user_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 306
    functionName: jupyter_server.auth.identity.IdentityProvider.check_update
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - current_user
    - user_data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 313
    functionName: jupyter_server.auth.identity.IdentityProvider.update_user_model
    functionSourceFile: ''
    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
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 317
    functionName: jupyter_server.auth.identity.IdentityProvider.persist_user_model
    functionSourceFile: ''
    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
    - user
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 321
    functionName: jupyter_server.auth.identity.IdentityProvider.identity_model
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    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: 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
    - user
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 338
    functionName: jupyter_server.auth.identity.IdentityProvider.user_to_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 4
    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: 357
    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: 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: cookie_options.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: cookie_options.setdefault
    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: handler.set_secure_cookie
    functionSourceFile: <builtin>
    functionUses: 4
    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 0x7f34ff416070>
    - <ast.Constant object at 0x7f34ff416340>
    argNames:
    - self
    - handler
    - name
    - path
    - domain
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 397
    functionName: jupyter_server.auth.identity.IdentityProvider._force_clear_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 3
    functionsReached:
    - http.cookies.Morsel
    - morsel.OutputString
    - datetime.datetime.now
    - morsel.set
    - tornado.escape.native_str
    - datetime.timedelta
    - handler.add_header
    - tornado.httputil.format_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: 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.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: 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: 463
    functionName: jupyter_server.auth.identity.IdentityProvider.get_token
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 3
    functionsReached:
    - m.group
    - handler.get_argument
    - handler.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: 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: 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: 528
    functionName: jupyter_server.auth.identity.IdentityProvider.should_check_origin
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - <builtin>.getattr
    - traitlets.Type.is_token_authenticated
    - jupyter_server.auth.identity.IdentityProvider.is_token_authenticated
    - jupyter_server.auth.identity.LegacyIdentityProvider.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: 539
    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: 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: 790
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.is_token_authenticated
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    functionsReached:
    - traitlets.Type.is_token_authenticated
    - <builtin>.bool
    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 0x7f34ff00e760>
    argNames:
    - self
    - app
    - ssl_options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 552
    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: 576
    functionName: jupyter_server.auth.identity.IdentityProvider.process_login_form
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - typing.cast
    - uuid.uuid4
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - traitlets.config.LoggingConfigurable.log.warning
    - random.randint
    - <builtin>.len
    - jupyter_server.auth.utils.get_anonymous_username
    - handler.log.debug
    - handler.get_argument
    - traitlets.config.LoggingConfigurable.user_for_token
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 593
    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: 604
    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: 609
    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.default
    - traitlets.Bool
    - 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: 666
    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: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 670
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider._default_updatable_fields
    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: 680
    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: 685
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - current_user
    - user_data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 689
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.update_user_model
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    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: 3
    functionLinenumber: 696
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.persist_user_model
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - _non_alphanum.sub
    - jupyter_server.auth.identity.IdentityProvider.set_login_cookie
    - cookie_options.update
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - handler.set_secure_cookie
    - cookie_options.setdefault
    - jupyter_server.auth.identity.IdentityProvider.user_to_cookie
    - 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
    - password
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 700
    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: 704
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.process_login_form
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.identity.PasswordIdentityProvider.passwd_check
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - jupyter_server.auth.security.persist_config
    - h.update
    - warnings.warn
    - traitlets.config.loader.JSONFileConfigLoader.load_config
    - handler.settings.get
    - <builtin>.str
    - jupyter_server.auth.utils.get_anonymous_username
    - json.dumps
    - jupyter_server.auth.security.passwd
    - h.hexdigest
    - uuid.uuid4
    - ph.hash
    - <builtin>.len
    - <builtin>.range
    - getpass.getpass.encode
    - os.path.basename
    - hashlib.new
    - traitlets.config.LoggingConfigurable.log.info
    - handler.get_argument
    - jupyter_server.auth.security.set_password
    - os.path.dirname
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.open
    - random.randint
    - traitlets.config.Config
    - traceback.format_exc
    - os.makedirs
    - argon2.PasswordHasher
    - random.getrandbits
    - os.path.join
    - salt.encode
    - os.chmod
    - jupyter_core.paths.jupyter_config_dir
    - traitlets.config.loader.JSONFileConfigLoader
    - handler.log.debug
    - f.write
    - getpass.getpass
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 5
    functionsReached: []
    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 0x7f34fe86c1c0>
    argNames:
    - self
    - app
    - ssl_options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 728
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.validate_security
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.critical
    - 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: 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: 755
    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: 762
    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: 768
    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: 771
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.get_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - traitlets.Type.get_user
    - 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: 779
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.login_available
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.Type.get_login_available
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 786
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.should_check_origin
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.Type.should_check_origin
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 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: 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 0x7f34fe98f250>
    - <ast.Constant object at 0x7f34fe98f4f0>
    argNames:
    - passphrase
    - algorithm
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 23
    functionName: jupyter_server.auth.security.passwd
    functionSourceFile: jupyter_server.auth.security
    functionUses: 5
    functionsReached:
    - h.hexdigest
    - argon2.PasswordHasher
    - ph.hash
    - warnings.warn
    - h.update
    - random.getrandbits
    - salt.encode
    - <builtin>.str
    - <builtin>.range
    - getpass.getpass.encode
    - hashlib.new
    - getpass.getpass
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 80
    functionName: jupyter_server.auth.security.passwd_check
    functionSourceFile: jupyter_server.auth.security
    functionUses: 0
    functionsReached:
    - passphrase.encode
    - h.hexdigest
    - argon2.PasswordHasher
    - hashed_passphrase.split
    - h.update
    - salt.encode
    - <builtin>.len
    - hashlib.new
    - ph.verify
    - hashed_passphrase.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: 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 0x7f34feb29a00>
    - <ast.Constant object at 0x7f34feb29c70>
    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:
    - os.makedirs
    - os.path.dirname
    - traitlets.config.loader.JSONFileConfigLoader.load_config
    - warnings.warn
    - os.path.join
    - <builtin>.open
    - os.chmod
    - traitlets.config.Config
    - jupyter_core.paths.jupyter_config_dir
    - os.path.basename
    - traceback.format_exc
    - traitlets.config.loader.JSONFileConfigLoader
    - json.dumps
    - f.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.loader.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.loader.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: 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 0x7f34ff6a4d00>
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 23
    functionName: jupyter_server.auth.login.LoginFormHandler._render
    functionSourceFile: jupyter_server.auth.login
    functionUses: 3
    functionsReached:
    - tornado.escape.url_escape
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - template.render
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.write
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.get_template
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f34ff6a4eb0>
    argNames:
    - self
    - url
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 33
    functionName: jupyter_server.auth.login.LoginFormHandler._redirect_safe
    functionSourceFile: jupyter_server.auth.login
    functionUses: 3
    functionsReached:
    - origin.lower
    - <builtin>.bool
    - tornado.web.RequestHandler.redirect
    - urllib.parse.urlparse.path.startswith
    - re.match
    - urllib.parse.urlparse
    - rest.lstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rest.lstrip
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.auth.login.LoginFormHandler
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.allow_unauthenticated
    - typing.cast
    - functools.wraps
    - <builtin>.setattr
    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: 79
    functionName: jupyter_server.auth.login.LoginFormHandler.get
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - tornado.escape.url_escape
    - origin.lower
    - jupyter_server.auth.login.LoginFormHandler._render
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - template.render
    - <builtin>.bool
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.redirect
    - urllib.parse.urlparse.path.startswith
    - re.match
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.write
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - rest.lstrip
    - jupyter_server.auth.login.LoginFormHandler._redirect_safe
    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: 88
    functionName: jupyter_server.auth.login.LoginFormHandler.post
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - tornado.escape.url_escape
    - origin.lower
    - jupyter_server.auth.login.LoginFormHandler._render
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - template.render
    - <builtin>.bool
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.redirect
    - urllib.parse.urlparse.path.startswith
    - re.match
    - tornado.web.RequestHandler.set_status
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.write
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - rest.lstrip
    - jupyter_server.auth.login.LoginFormHandler._redirect_safe
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 23
    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: 110
    functionName: jupyter_server.auth.login.LegacyLoginHandler.hashed_password
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.auth.login.LegacyLoginHandler.password_from_settings
    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: 287
    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: 113
    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: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jupyter_server.auth.login.LegacyLoginHandler
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - re.compile
    - typing.cast
    - functools.wraps
    - <builtin>.setattr
    - jupyter_server.auth.decorator.allow_unauthenticated
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 7
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 118
    functionName: jupyter_server.auth.login.LegacyLoginHandler.post
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - origin.lower
    - template.render
    - <builtin>.bool
    - jupyter_server.auth.security.persist_config
    - h.update
    - warnings.warn
    - traitlets.config.loader.JSONFileConfigLoader.load_config
    - re.match
    - <builtin>.str
    - ns.update
    - cookie_options.setdefault
    - urllib.parse.urlparse
    - json.dumps
    - tornado.web.RequestHandler.set_secure_cookie
    - jupyter_server.auth.security.passwd
    - h.hexdigest
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - uuid.uuid4
    - tornado.web.RequestHandler.get_argument
    - ph.hash
    - <builtin>.getattr
    - urllib.parse.urlparse.path.startswith
    - <builtin>.range
    - getpass.getpass.encode
    - os.path.basename
    - hashlib.new
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.auth.login.LegacyLoginHandler.get_login_available
    - jupyter_server.auth.login.LoginFormHandler._redirect_safe
    - jupyter_server.auth.security.set_password
    - tornado.escape.url_escape
    - os.path.dirname
    - jupyter_server.auth.login.LegacyLoginHandler.password_from_settings
    - <builtin>.open
    - traitlets.config.Config
    - tornado.web.RequestHandler.set_status
    - tornado.web.RequestHandler.write
    - traceback.format_exc
    - rest.lstrip
    - jupyter_server.auth.login.LoginFormHandler._render
    - os.makedirs
    - argon2.PasswordHasher
    - jupyter_server.auth.login.LegacyLoginHandler.set_login_cookie
    - tornado.web.RequestHandler.redirect
    - <builtin>.hasattr
    - random.getrandbits
    - os.path.join
    - salt.encode
    - os.chmod
    - jupyter_core.paths.jupyter_config_dir
    - jupyter_server.auth.login.LegacyLoginHandler.passwd_check
    - traitlets.config.loader.JSONFileConfigLoader
    - f.write
    - getpass.getpass
    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: 292
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_login_available
    functionSourceFile: jupyter_server.auth.login
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.auth.login.LegacyLoginHandler.password_from_settings
    - <builtin>.bool
    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 0x7f34ff6fda00>
    argNames:
    - cls
    - handler
    - user_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 145
    functionName: jupyter_server.auth.login.LegacyLoginHandler.set_login_cookie
    functionSourceFile: jupyter_server.auth.login
    functionUses: 2
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - cookie_options.setdefault
    - tornado.web.RequestHandler.set_secure_cookie
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 160
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_token
    functionSourceFile: jupyter_server.auth.login
    functionUses: 2
    functionsReached:
    - cls.auth_header_pat.match
    - m.group
    - handler.get_argument
    - handler.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: 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: 178
    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: 183
    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: 191
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_user
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - user_id.decode
    - m.group
    - handler.get_cookie
    - handler.log.info
    - handler.settings.get
    - jupyter_server.auth.login.LegacyLoginHandler.get_user_cookie
    - cookie_options.setdefault
    - handler.request.headers.get
    - jupyter_server.auth.login.LegacyLoginHandler.get_token
    - handler.clear_login_cookie
    - handler.get_secure_cookie
    - tornado.web.RequestHandler.set_secure_cookie
    - uuid.uuid4
    - <builtin>.getattr
    - tornado.web.RequestHandler.settings.get
    - handler.get_argument
    - handler.log.warning
    - cls.auth_header_pat.match
    - jupyter_server.auth.login.LegacyLoginHandler.set_login_cookie
    - jupyter_server.auth.login.LegacyLoginHandler.get_user_token
    - handler.log.debug
    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: 237
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_user_token
    functionSourceFile: jupyter_server.auth.login
    functionUses: 1
    functionsReached:
    - user_id.decode
    - m.group
    - uuid.uuid4
    - cls.auth_header_pat.match
    - handler.log.info
    - handler.settings.get
    - jupyter_server.auth.login.LegacyLoginHandler.get_user_cookie
    - handler.request.headers.get
    - jupyter_server.auth.login.LegacyLoginHandler.get_token
    - handler.log.debug
    - handler.get_argument
    - handler.get_secure_cookie
    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: 228
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_user_cookie
    functionSourceFile: jupyter_server.auth.login
    functionUses: 2
    functionsReached:
    - user_id.decode
    - handler.settings.get
    - handler.get_secure_cookie
    linkageType: pythonLinkage
    raised: []
    returnType: N/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 0x7f34feb4bdc0>
    argNames:
    - cls
    - app
    - ssl_options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 269
    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: 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:
    - jupyter_core.application.JupyterApp.launch_instance
    - flags.update
    - flags.pop
    - _base_flags.update
    - _base_aliases.update
    - _base_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 0x7f34ff4166d0>
    - <ast.Constant object at 0x7f34ff416d30>
    argNames:
    - user
    - sys_prefix
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 22
    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: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f34feb291c0>
    - <ast.Constant object at 0x7f34feb29be0>
    - <ast.Constant object at 0x7f34feb295b0>
    argNames:
    - write_dir
    - user
    - sys_prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 45
    functionName: jupyter_server.extension.serverextension._get_extmanager_for_context
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 2
    functionsReached:
    - jupyter_core.paths.jupyter_config_dir
    - os.path.join
    - jupyter_server.extension.serverextension._get_config_dir
    - 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: _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: 135
    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: 140
    functionName: jupyter_server.extension.serverextension.BaseExtensionApp.config_dir
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_config_dir
    - jupyter_server.extension.serverextension._get_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 0x7f34ff086580>
    - <ast.Constant object at 0x7f34ff086970>
    - <ast.Constant object at 0x7f34ff086ca0>
    - <ast.Constant object at 0x7f34ff0860a0>
    argNames:
    - import_name
    - enabled
    - parent
    - user
    - sys_prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 156
    functionName: jupyter_server.extension.serverextension.toggle_server_extension_python
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - <builtin>.list
    - new.items
    - json.dumps
    - data.items
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - traitlets.config.LoggingConfigurable.__init__
    - json.load
    - jupyter_server.config_manager.remove_defaults
    - os.path.isfile
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.extension.serverextension._get_config_dir
    - jupyter_server.extension.config.ExtensionConfigManager.disable
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - traitlets.Instance.update
    - traitlets.config.LoggingConfigurable.log.debug
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - os.path.getsize
    - <builtin>.open
    - traitlets.config.LoggingConfigurable.log.warning
    - copy.deepcopy
    - jupyter_server.extension.config.ExtensionConfigManager.enable
    - <builtin>.sorted
    - os.makedirs
    - os.path.join
    - <builtin>.isinstance
    - jupyter_core.paths.jupyter_config_dir
    - jupyter_server.services.config.manager.ConfigManager.update
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - f.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 9
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - import_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 241
    functionName: jupyter_server.extension.serverextension.ToggleServerExtensionApp.toggle_server_extension
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 1
    functionsReached:
    - module._jupyter_server_extension_paths
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_server.extension.serverextension._get_config_dir
    - module._jupyter_server_extension_points
    - extension.validate
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - config.enable
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.extension.utils.get_metadata
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - config.get_jpserver_extensions
    - traitlets.HasTraits.__init__
    - jupyter_core.application.JupyterApp.log.error
    - traitlets.config.LoggingConfigurable.log.warning
    - config.disable
    - traitlets.Dict.values
    - <builtin>.all
    - jupyter_server.extension.manager.ExtensionPackage.validate
    - os.path.join
    - importlib.import_module
    - <builtin>.super
    - jupyter_core.paths.jupyter_config_dir
    - time.perf_counter
    - jupyter_server.extension.serverextension._get_extmanager_for_context
    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: config.get_jpserver_extensions
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    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: 215
    functionName: jupyter_server.extension.manager.ExtensionPackage.__init__
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 12
    functionsReached:
    - module._jupyter_server_extension_points
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - module._jupyter_server_extension_paths
    - traitlets.HasTraits.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.log.warning
    - importlib.import_module
    - <builtin>.super
    - time.perf_counter
    - jupyter_server.extension.utils.get_metadata
    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: 241
    functionName: jupyter_server.extension.manager.ExtensionPackage.validate
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 4
    functionsReached:
    - extension.validate
    - <builtin>.all
    - traitlets.Dict.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: 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: 295
    functionName: jupyter_server.extension.serverextension.ToggleServerExtensionApp.start
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - module._jupyter_server_extension_paths
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_server.extension.serverextension._get_config_dir
    - module._jupyter_server_extension_points
    - sys.exit
    - extension.validate
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - config.enable
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.extension.utils.get_metadata
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - jupyter_server.extension.serverextension.ToggleServerExtensionApp.toggle_server_extension
    - config.get_jpserver_extensions
    - traitlets.HasTraits.__init__
    - jupyter_core.application.JupyterApp.log.error
    - traitlets.config.LoggingConfigurable.log.warning
    - config.disable
    - traitlets.Dict.values
    - <builtin>.all
    - jupyter_server.extension.manager.ExtensionPackage.validate
    - os.path.join
    - importlib.import_module
    - <builtin>.super
    - jupyter_core.paths.jupyter_config_dir
    - time.perf_counter
    - jupyter_server.extension.serverextension._get_extmanager_for_context
    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: 5
    functionLinenumber: 340
    functionName: jupyter_server.extension.serverextension.ListServerExtensionsApp.list_server_extensions
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 1
    functionsReached:
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - module._jupyter_server_extension_paths
    - target.pop
    - <builtin>.print
    - jupyter_server.services.config.manager.ConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - new.items
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - os.path.isfile
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_core.application.JupyterApp.log.info
    - json.load
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.extension.serverextension._get_config_dir
    - module._jupyter_server_extension_points
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - extension.validate
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jpserver_extensions.items
    - traitlets.config.LoggingConfigurable.log.debug
    - glob.glob
    - jupyter_server.extension.utils.get_metadata
    - os.path.getsize
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - traitlets.HasTraits.__init__
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.open
    - traitlets.Dict.values
    - <builtin>.sorted
    - <builtin>.all
    - jupyter_server.extension.manager.ExtensionPackage.validate
    - os.path.join
    - jupyter_core.application.JupyterApp.log.debug
    - data.get
    - importlib.import_module
    - jupyter_core.paths.jupyter_config_dir
    - <builtin>.super
    - <builtin>.isinstance
    - time.perf_counter
    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: 377
    functionName: jupyter_server.extension.serverextension.ListServerExtensionsApp.start
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - module._jupyter_server_extension_paths
    - target.pop
    - <builtin>.print
    - jupyter_server.services.config.manager.ConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - new.items
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - os.path.isfile
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_core.application.JupyterApp.log.info
    - json.load
    - jupyter_server.config_manager.recursive_update
    - jupyter_server.extension.serverextension._get_config_dir
    - module._jupyter_server_extension_points
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - extension.validate
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jpserver_extensions.items
    - traitlets.config.LoggingConfigurable.log.debug
    - glob.glob
    - jupyter_server.extension.utils.get_metadata
    - os.path.getsize
    - jupyter_server.extension.serverextension.ListServerExtensionsApp.list_server_extensions
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - traitlets.HasTraits.__init__
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.open
    - traitlets.Dict.values
    - <builtin>.sorted
    - <builtin>.all
    - jupyter_server.extension.manager.ExtensionPackage.validate
    - os.path.join
    - jupyter_core.application.JupyterApp.log.debug
    - data.get
    - importlib.import_module
    - jupyter_core.paths.jupyter_config_dir
    - <builtin>.super
    - <builtin>.isinstance
    - time.perf_counter
    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: 403
    functionName: jupyter_server.extension.serverextension.ServerExtensionApp.start
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - sys.exit
    - <builtin>.super
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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.Instance
    - traitlets.Bool
    - traitlets.Dict
    - traitlets.Any
    - 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: 1
    functionLinenumber: 31
    functionName: jupyter_server.extension.manager.ExtensionPoint._default_log
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - logging.getLogger
    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: 35
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 59
    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: 70
    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: 75
    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: 85
    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: 92
    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: 103
    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: 107
    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: 121
    functionName: jupyter_server.extension.manager.ExtensionPoint._get_loader
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - warnings.warn
    - jupyter_server.extension.utils.get_loader
    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 0x7f34fed446a0>
    argNames:
    - obj
    - logger
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 24
    functionName: jupyter_server.extension.utils.get_loader
    functionSourceFile: jupyter_server.extension.utils
    functionUses: 3
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised:
    - ExtensionLoadingError
    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: 129
    functionName: jupyter_server.extension.manager.ExtensionPoint._get_starter
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 1
    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:
    - serverapp
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 135
    functionName: jupyter_server.extension.manager.ExtensionPoint._get_starter._noop_start
    functionSourceFile: jupyter_server.extension.manager
    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: 3
    functionLinenumber: 147
    functionName: jupyter_server.extension.manager.ExtensionPoint.validate
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPoint._get_loader
    - warnings.warn
    - <builtin>.getattr
    - jupyter_server.extension.utils.get_loader
    - 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: 157
    functionName: jupyter_server.extension.manager.ExtensionPoint.link
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jupyter_server.extension.manager.ExtensionPoint._get_linker
    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: 169
    functionName: jupyter_server.extension.manager.ExtensionPoint.load
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - warnings.warn
    - jupyter_server.extension.utils.get_loader
    - jupyter_server.extension.manager.ExtensionPoint._get_loader
    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: 178
    functionName: jupyter_server.extension.manager.ExtensionPoint.start
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jupyter_server.extension.manager.ExtensionPoint._get_starter
    linkageType: 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.Bool
    - traitlets.Unicode
    - traitlets.Dict
    - traitlets.List
    - traitlets.Any
    - traitlets.default
    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: 210
    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: 221
    functionName: jupyter_server.extension.manager.ExtensionPackage._load_metadata
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 13
    functionsReached:
    - module._jupyter_server_extension_points
    - module._jupyter_server_extension_paths
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.HasTraits.__init__
    - traitlets.config.LoggingConfigurable.log.warning
    - importlib.import_module
    - time.perf_counter
    - jupyter_server.extension.utils.get_metadata
    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 0x7f34fefb6580>
    argNames:
    - package_name
    - logger
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: jupyter_server.extension.utils.get_metadata
    functionSourceFile: jupyter_server.extension.utils
    functionUses: 14
    functionsReached:
    - module._jupyter_server_extension_points
    - module._jupyter_server_extension_paths
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - importlib.import_module
    - time.perf_counter
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 245
    functionName: jupyter_server.extension.manager.ExtensionPackage.link_point
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 1
    functionsReached:
    - point.link
    - 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: 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: 252
    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: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - point_name
    - serverapp
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 257
    functionName: jupyter_server.extension.manager.ExtensionPackage.start_point
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 1
    functionsReached:
    - point.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: point.start
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 262
    functionName: jupyter_server.extension.manager.ExtensionPackage.link_all_points
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - point.link
    - jupyter_server.extension.manager.ExtensionPackage.link_point
    - traitlets.Dict.get
    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: 267
    functionName: jupyter_server.extension.manager.ExtensionPackage.load_all_points
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.load
    - jupyter_server.extension.manager.ExtensionPackage.load_point
    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: 271
    functionName: jupyter_server.extension.manager.ExtensionPackage.start_all_points
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPackage.start_point
    - point.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: 1
    functionLinenumber: -1
    functionName: jupyter_server.extension.manager.ExtensionManager
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - traitlets.Dict
    - traitlets.observe
    - traitlets.default
    - traitlets.Any
    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: 290
    functionName: jupyter_server.extension.manager.ExtensionManager._load_default_config_manager
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - module._jupyter_server_extension_paths
    - traitlets.Dict.items
    - target.pop
    - jupyter_server.extension.manager.ExtensionManager._load_config_manager
    - jupyter_server.services.config.manager.ConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - new.items
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - os.path.isfile
    - traitlets.config.LoggingConfigurable.__init__
    - json.load
    - jupyter_server.config_manager.recursive_update
    - module._jupyter_server_extension_points
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - glob.glob
    - jupyter_server.extension.utils.get_metadata
    - os.path.getsize
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.open
    - traitlets.HasTraits.__init__
    - <builtin>.sorted
    - os.path.join
    - importlib.import_module
    - data.get
    - <builtin>.isinstance
    - <builtin>.super
    - time.perf_counter
    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: 350
    functionName: jupyter_server.extension.manager.ExtensionManager._load_config_manager
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - module._jupyter_server_extension_paths
    - traitlets.Dict.items
    - target.pop
    - jupyter_server.services.config.manager.ConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - new.items
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - os.path.isfile
    - traitlets.config.LoggingConfigurable.__init__
    - json.load
    - jupyter_server.config_manager.recursive_update
    - module._jupyter_server_extension_points
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - glob.glob
    - jupyter_server.extension.utils.get_metadata
    - os.path.getsize
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.HasTraits.__init__
    - <builtin>.open
    - <builtin>.sorted
    - os.path.join
    - importlib.import_module
    - data.get
    - <builtin>.isinstance
    - <builtin>.super
    - time.perf_counter
    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: 296
    functionName: jupyter_server.extension.manager.ExtensionManager._config_manager_changed
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - module._jupyter_server_extension_paths
    - traitlets.Dict.items
    - target.pop
    - jupyter_server.extension.manager.ExtensionManager._load_config_manager
    - jupyter_server.services.config.manager.ConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - new.items
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - os.path.isfile
    - traitlets.config.LoggingConfigurable.__init__
    - json.load
    - jupyter_server.config_manager.recursive_update
    - module._jupyter_server_extension_points
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - glob.glob
    - jupyter_server.extension.utils.get_metadata
    - os.path.getsize
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.HasTraits.__init__
    - <builtin>.open
    - <builtin>.sorted
    - os.path.join
    - importlib.import_module
    - data.get
    - <builtin>.isinstance
    - <builtin>.super
    - time.perf_counter
    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: 312
    functionName: jupyter_server.extension.manager.ExtensionManager.sorted_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.Dict.items
    - <builtin>.dict
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Dict.items
    functionSourceFile: traitlets
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 329
    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: 337
    functionName: jupyter_server.extension.manager.ExtensionManager.extension_points
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - value.extension_points.items
    - traitlets.Dict.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: 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: 345
    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 0x7f34fe6ecf40>
    argNames:
    - self
    - extension_name
    - enabled
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 360
    functionName: jupyter_server.extension.manager.ExtensionManager.add_extension
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 6
    functionsReached:
    - module._jupyter_server_extension_points
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - module._jupyter_server_extension_paths
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.HasTraits.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - importlib.import_module
    - <builtin>.super
    - time.perf_counter
    - jupyter_server.extension.utils.get_metadata
    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: 381
    functionName: jupyter_server.extension.manager.ExtensionManager.link_extension
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 3
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.info
    - traitlets.Dict.get
    - traitlets.config.LoggingConfigurable.log.warning
    - extension.link_all_points
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 396
    functionName: jupyter_server.extension.manager.ExtensionManager.load_extension
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 3
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.info
    - extension.load_all_points
    - traitlets.Dict.get
    - traitlets.config.LoggingConfigurable.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: extension.load_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: 412
    functionName: jupyter_server.extension.manager.ExtensionManager.start_extension
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - extension.start_all_points
    - traitlets.Dict.get
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.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: extension.start_all_points
    functionSourceFile: <builtin>
    functionUses: 3
    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: 428
    functionName: jupyter_server.extension.manager.ExtensionManager.stop_extension
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    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: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.starmap
    functionSourceFile: itertools
    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: 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: 109
    functionName: jupyter_server.extension.utils.validate_extension
    functionSourceFile: jupyter_server.extension.utils
    functionUses: 0
    functionsReached:
    - module._jupyter_server_extension_points
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - module._jupyter_server_extension_paths
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - traitlets.HasTraits.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.log.warning
    - importlib.import_module
    - <builtin>.super
    - time.perf_counter
    - jupyter_server.extension.utils.get_metadata
    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: 48
    functionName: jupyter_server.auth.authorizer.Authorizer.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: 5
    argDefaultValues: []
    argNames:
    - self
    - handler
    - user
    - action
    - resource
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 82
    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: 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 0x7f34ff395100>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 16
    functionName: jupyter_server.services.contents.largefilemanager.LargeFileManager.save
    functionSourceFile: jupyter_server.services.contents.largefilemanager
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - f.read
    - <builtin>.str
    - <builtin>.any
    - os.path.isdir
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.fileio.async_replace_file
    - path.rsplit
    - datetime.datetime
    - json.dumps
    - functools.partial
    - os.path.isfile
    - os.path.abspath
    - os.listdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - base64.b64decode
    - model.get
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - os.path.exists
    - os.path.normpath
    - fnmatch.fnmatch
    - os.lstat
    - h.update
    - traitlets.Instance.mark_cells
    - anyio.to_thread.run_sync
    - model.update
    - nbformat.reads
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.validate
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - f.write
    - contents.append
    - os.path.split
    - os.path.islink
    - mimetypes.guess_type
    - nbformat.v4.new_notebook.encode
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISDIR
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - os.path.dirname
    - stat.S_ISLNK
    - jupyter_server.services.contents.fileio.replace_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.readlink
    - jupyter_server.utils.to_api_path
    - h.hexdigest
    - jupyter_core.paths.is_file_hidden
    - base64.encodebytes.decode
    - jupyter_server.services.contents.largefilemanager.LargeFileManager._save_large_file
    - stat.S_ISREG
    - os.path.splitdrive
    - os.replace
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - <builtin>.open
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.join
    - <builtin>.isinstance
    - <builtin>.super
    - os_path.startswith
    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: 276
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 73
    functionsReached:
    - os.lstat
    - os.path.normpath
    - os.path.splitdrive
    - jupyter_server.utils.to_os_path
    - os.path.join
    - <builtin>.str
    - typing.NewType
    - os.path.abspath
    linkageType: pythonLinkage
    raised:
    - HTTPError
    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.path.islink
    - os.path.dirname
    - <builtin>.open
    - os.path.join
    - os_path.strip
    - f.write
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - <builtin>.len
    - base64.b64decode
    - os_path.startswith
    - nbformat.v4.new_notebook.encode
    - os.readlink
    - typing.NewType
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f34ff27c400>
    - <ast.Constant object at 0x7f34ff27cc10>
    - <ast.Constant object at 0x7f34ff27c190>
    - <ast.Constant object at 0x7f34ff27cca0>
    argNames:
    - self
    - path
    - content
    - type
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 412
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.get
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 5
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - f.read
    - <builtin>.str
    - <builtin>.any
    - os.path.isdir
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.fileio.async_replace_file
    - path.rsplit
    - datetime.datetime
    - json.dumps
    - functools.partial
    - os.path.isfile
    - os.path.abspath
    - os.listdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - os.path.exists
    - os.path.normpath
    - fnmatch.fnmatch
    - os.lstat
    - h.update
    - traitlets.Instance.mark_cells
    - anyio.to_thread.run_sync
    - model.update
    - nbformat.reads
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.validate
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - contents.append
    - os.path.split
    - mimetypes.guess_type
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISDIR
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - stat.S_ISLNK
    - jupyter_server.services.contents.fileio.replace_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - h.hexdigest
    - jupyter_core.paths.is_file_hidden
    - base64.encodebytes.decode
    - stat.S_ISREG
    - os.path.splitdrive
    - os.replace
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.join
    - <builtin>.isinstance
    - os_path.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: nbformat.v4.new_notebook.encode
    functionSourceFile: nbformat
    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: base64.b64decode
    functionSourceFile: base64
    functionUses: 10
    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 0x7f34fe754fd0>
    argNames:
    - self
    - os_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 253
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 67
    functionsReached:
    - os_path.strip
    - jupyter_server.utils.to_api_path
    - <builtin>.len
    - os_path.startswith
    - typing.NewType
    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.readlink
    functionSourceFile: os
    functionUses: 23
    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: 7
    functionsReached:
    - os.path.islink
    - os.path.dirname
    - <builtin>.open
    - os.path.join
    - os_path.strip
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - <builtin>.len
    - base64.b64decode
    - os_path.startswith
    - nbformat.v4.new_notebook.encode
    - os.readlink
    - typing.NewType
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 54
    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.Bool
    - traitlets.Unicode
    - traitlets.default
    - traitlets.Int
    - traitlets.validate
    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: 55
    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: 61
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 71
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._default_preferred_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - warnings.warn
    - pathlib.Path
    - 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: 95
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._validate_preferred_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os_path.strip
    - jupyter_server.utils.to_api_path
    - <builtin>.len
    - <builtin>.super
    - os_path.startswith
    - typing.NewType
    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: 101
    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: 123
    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: 127
    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: 130
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os.lstat
    - os.path.normpath
    - os.path.splitdrive
    - path.strip
    - jupyter_server.utils.to_os_path
    - os.path.join
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - os.path.abspath
    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: 1091
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 38
    functionsReached:
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os.lstat
    - os.path.normpath
    - os.path.splitdrive
    - path.strip
    - jupyter_server.utils.to_os_path
    - os.path.join
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - os.path.abspath
    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: 148
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 31
    functionsReached:
    - os.lstat
    - os.path.normpath
    - os.path.splitdrive
    - path.strip
    - jupyter_server.utils.to_os_path
    - os.path.join
    - <builtin>.str
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - 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.access
    functionSourceFile: os
    functionUses: 56
    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: 170
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.file_exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.lstat
    - os.path.normpath
    - os.path.splitdrive
    - path.strip
    - jupyter_server.utils.to_os_path
    - os.path.join
    - <builtin>.str
    - os.path.isfile
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - os.path.abspath
    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: 189
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.dir_exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.lstat
    - os.path.normpath
    - os.path.splitdrive
    - path.strip
    - jupyter_server.utils.to_os_path
    - os.path.join
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - os.path.abspath
    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: 209
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 23
    functionsReached:
    - os.lstat
    - os.path.normpath
    - os.path.splitdrive
    - path.strip
    - jupyter_server.utils.to_os_path
    - os.path.join
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - os.path.abspath
    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: 228
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 26
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os.path.splitdrive
    - os.path.normpath
    - path.strip
    - jupyter_server.utils.to_os_path
    - os.path.join
    - <builtin>.str
    - datetime.datetime.fromtimestamp
    - path.rsplit
    - os.access
    - datetime.datetime
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - 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.lstat
    functionSourceFile: os
    functionUses: 74
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - timestamp
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 34
    functionName: jupyter_server._tz.utcfromtimestamp
    functionSourceFile: jupyter_server._tz
    functionUses: 39
    functionsReached:
    - datetime.datetime.fromtimestamp
    linkageType: pythonLinkage
    raised: []
    returnType: N/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 0x7f34ff51f7f0>
    argNames:
    - self
    - path
    - content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 278
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 5
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - f.read
    - <builtin>.str
    - <builtin>.any
    - os.path.isdir
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.fileio.async_replace_file
    - path.rsplit
    - datetime.datetime
    - json.dumps
    - functools.partial
    - os.path.isfile
    - os.path.abspath
    - os.listdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - os.path.exists
    - os.path.normpath
    - fnmatch.fnmatch
    - os.lstat
    - h.update
    - traitlets.Instance.mark_cells
    - anyio.to_thread.run_sync
    - model.update
    - nbformat.reads
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.validate
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - contents.append
    - os.path.split
    - mimetypes.guess_type
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISDIR
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - stat.S_ISLNK
    - jupyter_server.services.contents.fileio.replace_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - h.hexdigest
    - jupyter_core.paths.is_file_hidden
    - base64.encodebytes.decode
    - stat.S_ISREG
    - os.path.splitdrive
    - os.replace
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.join
    - <builtin>.isinstance
    - os_path.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: 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: jupyter_core.paths.is_file_hidden
    functionSourceFile: jupyter_core
    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: contents.append
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f34fe9bfe50>
    - <ast.Constant object at 0x7f34fe9bf070>
    - <ast.Constant object at 0x7f34fe9bfc10>
    argNames:
    - self
    - path
    - content
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 342
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._file_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - os.lstat
    - f.read
    - h.update
    - mimetypes.guess_type
    - <builtin>.str
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - model.update
    - path.rsplit
    - datetime.datetime
    - bcontent.decode
    - os.path.isfile
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - h.hexdigest
    - path.strip
    - base64.encodebytes.decode
    - <builtin>.len
    - hashlib.new
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - typing.NewType
    - os.path.splitdrive
    - os_path.strip
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    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 0x7f34ff416820>
    argNames:
    - self
    - os_path
    - format
    - raw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 380
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 11
    functionsReached:
    - f.read
    - os_path.strip
    - base64.encodebytes.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - base64.encodebytes
    - jupyter_server.utils.to_api_path
    - <builtin>.len
    - os_path.startswith
    - os.path.isfile
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - bcontent.decode
    - typing.NewType
    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: 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
    - byte_content
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 361
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 26
    functionsReached:
    - h.update
    - h.hexdigest
    - hashlib.new
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f34fea1da60>
    - <ast.Constant object at 0x7f34fea1dfd0>
    argNames:
    - self
    - path
    - content
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 382
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 6
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - os.lstat
    - os.path.split
    - f.read
    - h.update
    - traitlets.Instance.mark_cells
    - <builtin>.str
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - model.update
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - path.rsplit
    - nbformat.reads
    - validation_error.get
    - datetime.datetime
    - bcontent.decode
    - json.dumps
    - os.path.isfile
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - h.hexdigest
    - traitlets.Instance.check_signature
    - path.strip
    - jupyter_server.services.contents.fileio.path_to_invalid
    - base64.encodebytes.decode
    - nbformat.validate
    - <builtin>.len
    - hashlib.new
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - typing.NewType
    - os.path.splitdrive
    - os.replace
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.fileio.replace_file
    - os_path.strip
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.isinstance
    - os_path.startswith
    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 0x7f34fe881f40>
    - <ast.Constant object at 0x7f34fe881c40>
    - <ast.Constant object at 0x7f34fe881f10>
    argNames:
    - self
    - os_path
    - as_version
    - capture_validation_error
    - raw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 315
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 8
    functionsReached:
    - os.path.split
    - f.read
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - nbformat.reads
    - bcontent.decode
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_invalid
    - base64.encodebytes.decode
    - <builtin>.len
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - typing.NewType
    - os.replace
    - jupyter_server.services.contents.fileio.replace_file
    - os_path.strip
    - os.path.exists
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 8
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f34fe754610>
    argNames:
    - self
    - path
    - content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 752
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 21
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - contents.append
    - os.lstat
    - os.path.split
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - h.update
    - traitlets.Instance.mark_cells
    - mimetypes.guess_type
    - anyio.to_thread.run_sync
    - <builtin>.any
    - os.path.isdir
    - model.update
    - base64.encodebytes
    - <builtin>.str
    - path.rsplit
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.async_replace_file
    - validation_error.get
    - datetime.datetime
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - json.dumps
    - os.path.isfile
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - functools.partial
    - h.hexdigest
    - stat.S_ISDIR
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - path.endswith
    - jupyter_core.paths.is_file_hidden
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - base64.encodebytes.decode
    - nbformat.validate
    - <builtin>.len
    - jupyter_server.services.contents.fileio.path_to_invalid
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os.access
    - stat.S_ISREG
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - typing.NewType
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - os.path.splitdrive
    - stat.S_ISLNK
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - os.path.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.isinstance
    - os_path.startswith
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - fnmatch.fnmatch
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f34ff5362b0>
    - <ast.Constant object at 0x7f34ff536bb0>
    argNames:
    - self
    - path
    - content
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 857
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 22
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - os.lstat
    - os.path.split
    - h.update
    - traitlets.Instance.mark_cells
    - <builtin>.str
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.fileio.async_replace_file
    - model.update
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - base64.encodebytes
    - path.rsplit
    - jupyter_server.utils.to_api_path
    - validation_error.get
    - datetime.datetime
    - json.dumps
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - os.path.isfile
    - functools.partial
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - os.path.abspath
    - h.hexdigest
    - traitlets.Instance.check_signature
    - path.strip
    - nbformat.validate
    - jupyter_server.services.contents.fileio.path_to_invalid
    - base64.encodebytes.decode
    - <builtin>.len
    - hashlib.new
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - typing.NewType
    - os.path.splitdrive
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.isinstance
    - os_path.startswith
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f34ff228bb0>
    - <ast.Constant object at 0x7f34ff228cd0>
    - <ast.Constant object at 0x7f34ff228250>
    argNames:
    - self
    - path
    - content
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 817
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 22
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - os.lstat
    - h.update
    - mimetypes.guess_type
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - model.update
    - <builtin>.str
    - path.rsplit
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - datetime.datetime
    - bcontent.decode
    - os.path.isfile
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - h.hexdigest
    - path.strip
    - base64.encodebytes.decode
    - <builtin>.len
    - hashlib.new
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - typing.NewType
    - os.path.splitdrive
    - os_path.strip
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    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 0x7f34ff251e20>
    argNames:
    - self
    - os_path
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 466
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._save_directory
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 1
    functionsReached:
    - os.lstat
    - <builtin>.str
    - jupyter_server.utils.to_api_path
    - os.path.isdir
    - os.path.abspath
    - path.strip
    - <builtin>.len
    - typing.NewType
    - os.mkdir
    - os.path.splitdrive
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os.path.normpath
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.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: 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 0x7f34ffd2f640>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 478
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.save
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - f.read
    - <builtin>.str
    - <builtin>.any
    - os.path.isdir
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.fileio.async_replace_file
    - path.rsplit
    - datetime.datetime
    - json.dumps
    - functools.partial
    - os.path.isfile
    - os.path.abspath
    - os.listdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - model.get
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - nbformat.from_dict
    - os.path.exists
    - os.path.normpath
    - fnmatch.fnmatch
    - os.lstat
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - h.update
    - traitlets.Instance.mark_cells
    - anyio.to_thread.run_sync
    - model.update
    - nbformat.reads
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.validate
    - traitlets.Instance.create_checkpoint
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os.mkdir
    - typing.NewType
    - traitlets.Instance.sign
    - base64.decodebytes
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.fileio.FileManagerMixin._save_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - f.write
    - jupyter_server.services.contents.fileio._simple_writing
    - contents.append
    - os.path.islink
    - os.path.split
    - mimetypes.guess_type
    - traitlets.Instance.check_cells
    - nbformat.v4.new_notebook.encode
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISDIR
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.manager.ContentsManager.create_checkpoint
    - os.path.dirname
    - jupyter_server.services.contents.filemanager.FileContentsManager._save_directory
    - stat.S_ISLNK
    - jupyter_server.services.contents.fileio.replace_file
    - nbformat.write
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.readlink
    - jupyter_server.utils.to_api_path
    - h.hexdigest
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_core.paths.is_file_hidden
    - base64.encodebytes.decode
    - stat.S_ISREG
    - os.path.splitdrive
    - os.replace
    - fileobj.close
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - <builtin>.open
    - jupyter_server.services.contents.fileio.FileManagerMixin._save_notebook
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - traitlets.Instance.list_checkpoints
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.join
    - <builtin>.isinstance
    - os_path.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: nbformat.from_dict
    functionSourceFile: nbformat
    functionUses: 10
    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 0x7f34feb29580>
    argNames:
    - self
    - os_path
    - nb
    - capture_validation_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 351
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._save_notebook
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 2
    functionsReached:
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.islink
    - os.path.dirname
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - fileobj.close
    - os_path.strip
    - <builtin>.open
    - os.path.join
    - nbformat.write
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - <builtin>.len
    - os_path.startswith
    - kwargs.setdefault
    - os.readlink
    - typing.NewType
    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.FileManagerMixin._save_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 2
    functionsReached:
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.islink
    - os.path.dirname
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - fileobj.close
    - os_path.strip
    - os.path.join
    - <builtin>.open
    - base64.decodebytes
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - <builtin>.len
    - os_path.startswith
    - nbformat.v4.new_notebook.encode
    - kwargs.setdefault
    - os.readlink
    - typing.NewType
    - f.write
    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 0x7f34fe9ca640>
    argNames:
    - self
    - os_path
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 934
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 8
    functionsReached:
    - os.lstat
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - os.path.isdir
    - <builtin>.str
    - os.path.abspath
    - path.strip
    - <builtin>.len
    - typing.NewType
    - os.path.splitdrive
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os.path.normpath
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 7
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 530
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.delete_file
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.lstat
    - <builtin>.str
    - jupyter_server.utils.to_api_path
    - os.path.isdir
    - send2trash.send2trash
    - os.path.abspath
    - os.listdir
    - <builtin>.getattr
    - path.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager.delete_file.is_non_empty_dir
    - <builtin>.len
    - os.access
    - typing.NewType
    - os.path.splitdrive
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.unlink
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - <builtin>.set
    - shutil.rmtree
    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: 543
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.delete_file.is_non_empty_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - os.path.isdir
    - os.listdir
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 580
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.rename_file
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.lstat
    - <builtin>.str
    - jupyter_server.utils.to_api_path
    - os.path.abspath
    - old_path.strip
    - os.stat
    - shutil.move
    - other_path.lower
    - os.path.samefile
    - path.strip
    - <builtin>.len
    - typing.NewType
    - os.path.splitdrive
    - os_path.strip
    - path.lower
    - jupyter_server.utils.samefile_simple
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os.path.normpath
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - new_path.strip
    - os_path.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: 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: 610
    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 0x7f34ff412e50>
    argNames:
    - self
    - path
    - model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 614
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.get_kernel_path
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.lstat
    - os.path.normpath
    - os.path.splitdrive
    - path.strip
    - jupyter_server.utils.to_os_path
    - os.path.join
    - <builtin>.str
    - os.path.isdir
    - path.rsplit
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - os.path.abspath
    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 0x7f34ff412220>
    argNames:
    - self
    - from_path
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 621
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.copy
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - f.read
    - <builtin>.str
    - <builtin>.any
    - os.path.isdir
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.fileio.async_replace_file
    - path.rsplit
    - datetime.datetime
    - json.dumps
    - functools.partial
    - os.path.isfile
    - os.path.abspath
    - os.listdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._copy_dir
    - proc.wait
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - stdout.decode
    - os.path.exists
    - os.path.normpath
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    - fnmatch.fnmatch
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.lstat
    - shutil.copytree
    - h.update
    - traitlets.Instance.mark_cells
    - asyncio.create_subprocess_exec
    - anyio.to_thread.run_sync
    - model.update
    - nbformat.reads
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - <builtin>.int
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.validate
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - from_path.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.check_folder_size
    - traitlets.config.configurable.LoggingConfigurable.strip
    - contents.append
    - os.path.split
    - mimetypes.guess_type
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISDIR
    - proc.communicate
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - stat.S_ISLNK
    - jupyter_server.services.contents.fileio.replace_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - to_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - copy_pat.sub
    - h.hexdigest
    - jupyter_core.paths.is_file_hidden
    - base64.encodebytes.decode
    - stat.S_ISREG
    - platform.system
    - os.path.splitdrive
    - os.replace
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - to_path_original.strip
    - os.path.join
    - <builtin>.isinstance
    - <builtin>.super
    - os_path.startswith
    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: 1169
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.check_folder_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 2
    functionsReached:
    - os.lstat
    - os.path.normpath
    - os.path.splitdrive
    - <builtin>.int
    - asyncio.create_subprocess_exec
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    - stdout.decode
    - <builtin>.str
    - platform.system
    - proc.communicate
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - proc.wait
    - os.path.abspath
    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: 8
    functionLinenumber: 1148
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._copy_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 2
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - shutil.copytree
    - os.lstat
    - os.path.split
    - contents.append
    - h.update
    - traitlets.Instance.mark_cells
    - mimetypes.guess_type
    - <builtin>.str
    - anyio.to_thread.run_sync
    - os.path.isdir
    - model.update
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - path.rsplit
    - base64.encodebytes
    - jupyter_server.utils.to_api_path
    - validation_error.get
    - datetime.datetime
    - json.dumps
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - os.path.isfile
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - functools.partial
    - h.hexdigest
    - traitlets.Instance.check_signature
    - stat.S_ISDIR
    - <builtin>.any
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - path.endswith
    - jupyter_core.paths.is_file_hidden
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - nbformat.validate
    - jupyter_server.services.contents.fileio.path_to_invalid
    - base64.encodebytes.decode
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os.access
    - stat.S_ISREG
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - typing.NewType
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - os.path.splitdrive
    - stat.S_ISLNK
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - os.path.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - to_path_original.strip
    - os.path.normpath
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.isinstance
    - os_path.startswith
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - traitlets.config.configurable.LoggingConfigurable.strip
    - fnmatch.fnmatch
    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: 10
    functionLinenumber: 665
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._copy_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - f.read
    - <builtin>.str
    - <builtin>.any
    - os.path.isdir
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.fileio.async_replace_file
    - path.rsplit
    - datetime.datetime
    - json.dumps
    - functools.partial
    - os.path.isfile
    - os.path.abspath
    - os.listdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - os.path.exists
    - os.path.normpath
    - fnmatch.fnmatch
    - shutil.copytree
    - os.lstat
    - h.update
    - traitlets.Instance.mark_cells
    - anyio.to_thread.run_sync
    - model.update
    - nbformat.reads
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.validate
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - from_path.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - contents.append
    - os.path.split
    - mimetypes.guess_type
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISDIR
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - stat.S_ISLNK
    - jupyter_server.services.contents.fileio.replace_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - h.hexdigest
    - jupyter_core.paths.is_file_hidden
    - base64.encodebytes.decode
    - stat.S_ISREG
    - os.path.splitdrive
    - os.replace
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - to_path_original.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.join
    - <builtin>.isinstance
    - os_path.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: to_path_original.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: 684
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.check_folder_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.lstat
    - os.path.normpath
    - os.path.splitdrive
    - <builtin>.int
    - asyncio.create_subprocess_exec
    - jupyter_server.utils.to_os_path
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    - stdout.decode
    - <builtin>.str
    - platform.system
    - proc.communicate
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - proc.wait
    - os.path.abspath
    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 0x7f34fe881460>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1188
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 4
    functionsReached:
    - asyncio.create_subprocess_exec
    - stdout.decode
    - proc.communicate
    - proc.wait
    - platform.system
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f34ff022a00>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 703
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._get_dir_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - subprocess.run
    - platform.system
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 732
    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: 749
    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: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f34fe99fca0>
    argNames:
    - self
    - os_path
    - format
    - raw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 525
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 27
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os_path.strip
    - base64.encodebytes.decode
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - base64.encodebytes
    - jupyter_server.utils.to_api_path
    - <builtin>.len
    - os_path.startswith
    - os.path.isfile
    - bcontent.decode
    - typing.NewType
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f34fed18700>
    - <ast.Constant object at 0x7f34fed182b0>
    - <ast.Constant object at 0x7f34fed18790>
    argNames:
    - self
    - os_path
    - as_version
    - capture_validation_error
    - raw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 472
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 24
    functionsReached:
    - os.path.split
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.fileio.async_replace_file
    - base64.encodebytes
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - functools.partial
    - os.path.isfile
    - jupyter_server.services.contents.fileio.path_to_invalid
    - base64.encodebytes.decode
    - <builtin>.len
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - typing.NewType
    - os_path.strip
    - os.path.exists
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f34fe9e4d60>
    argNames:
    - self
    - os_path
    - nb
    - capture_validation_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 512
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 8
    functionsReached:
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.islink
    - os.path.dirname
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - fileobj.close
    - <builtin>.open
    - os.path.join
    - os_path.strip
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - <builtin>.len
    - os_path.startswith
    - kwargs.setdefault
    - os.readlink
    - functools.partial
    - typing.NewType
    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: 582
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 8
    functionsReached:
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.islink
    - os.path.dirname
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - fileobj.close
    - <builtin>.open
    - os.path.join
    - os_path.strip
    - base64.decodebytes
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - <builtin>.len
    - nbformat.v4.new_notebook.encode
    - os_path.startswith
    - kwargs.setdefault
    - os.readlink
    - typing.NewType
    linkageType: pythonLinkage
    raised:
    - HTTPError
    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: 1007
    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>.getattr
    - os.path.isdir
    - <builtin>.set
    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 0x7f34fe96d490>
    argNames:
    - self
    - path
    - model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1097
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get_kernel_path
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.lstat
    - os.path.normpath
    - os.path.splitdrive
    - path.strip
    - jupyter_server.utils.to_os_path
    - os.path.join
    - <builtin>.str
    - os.path.isdir
    - path.rsplit
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - os.path.abspath
    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 0x7f34ff526580>
    argNames:
    - self
    - from_path
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1104
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.copy
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - <builtin>.str
    - <builtin>.any
    - os.path.isdir
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - path.rsplit
    - datetime.datetime
    - json.dumps
    - functools.partial
    - os.path.isfile
    - os.path.abspath
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._copy_dir
    - proc.wait
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - os_path.strip
    - stdout.decode
    - os.path.exists
    - os.path.normpath
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    - fnmatch.fnmatch
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - shutil.copytree
    - os.lstat
    - h.update
    - traitlets.Instance.mark_cells
    - asyncio.create_subprocess_exec
    - anyio.to_thread.run_sync
    - model.update
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - <builtin>.int
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.validate
    - <builtin>.len
    - hashlib.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.check_folder_size
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - traitlets.config.configurable.LoggingConfigurable.strip
    - contents.append
    - os.path.split
    - mimetypes.guess_type
    - validation_error.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISDIR
    - proc.communicate
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - stat.S_ISLNK
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - to_path.strip
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - copy_pat.sub
    - h.hexdigest
    - jupyter_core.paths.is_file_hidden
    - base64.encodebytes.decode
    - stat.S_ISREG
    - platform.system
    - os.path.splitdrive
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.copy
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - to_path_original.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.join
    - <builtin>.isinstance
    - <builtin>.super
    - os_path.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: asyncio.create_subprocess_exec
    functionSourceFile: asyncio
    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: proc.wait
    functionSourceFile: <builtin>
    functionUses: 5
    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: 1215
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 47
    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: 53
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.str
    - jupyter_server.utils.to_api_path
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.stat
    - os.path.abspath
    - path.strip
    - <builtin>.len
    - contents_mgr._get_os_path
    - os.access
    - tempfile.gettempdir
    - typing.NewType
    - log.debug
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - os_path.strip
    - shutil.copystat
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._copy
    - jupyter_server.services.contents.fileio.copy2_safe
    - os.path.normpath
    - os.path.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    - 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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 106
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 18
    functionsReached:
    - os.lstat
    - <builtin>.str
    - jupyter_server.utils.to_api_path
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.abspath
    - path.strip
    - <builtin>.len
    - os.access
    - tempfile.gettempdir
    - typing.NewType
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    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: 269
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._copy
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 2
    functionsReached:
    - log.debug
    - jupyter_server.services.contents.fileio.copy2_safe
    - shutil.copystat
    - os.access
    - shutil.copyfile
    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: 2
    functionLinenumber: 124
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 4
    functionsReached:
    - os.stat
    - jupyter_server._tz.utcfromtimestamp
    - datetime.datetime.fromtimestamp
    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: 61
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.str
    - jupyter_server.utils.to_api_path
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.abspath
    - path.strip
    - <builtin>.len
    - contents_mgr._get_os_path
    - os.access
    - tempfile.gettempdir
    - typing.NewType
    - log.debug
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - os_path.strip
    - shutil.copystat
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.copy2_safe
    - jupyter_server.services.contents.fileio.FileManagerMixin._copy
    - os.path.normpath
    - os.path.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    - 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: 68
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.rename_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.str
    - jupyter_server.utils.to_api_path
    - jupyter_core.utils.ensure_dir_exists
    - os.path.isfile
    - os.path.splitext
    - os.path.abspath
    - shutil.move
    - path.strip
    - <builtin>.len
    - os.access
    - tempfile.gettempdir
    - typing.NewType
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    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: 81
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.str
    - jupyter_server.utils.to_api_path
    - jupyter_core.utils.ensure_dir_exists
    - os.path.isfile
    - os.path.splitext
    - os.path.abspath
    - path.strip
    - <builtin>.len
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - os.access
    - tempfile.gettempdir
    - typing.NewType
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.unlink
    - os.path.normpath
    - os.path.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    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: 135
    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: 92
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.str
    - jupyter_server.utils.to_api_path
    - jupyter_core.utils.ensure_dir_exists
    - os.path.isfile
    - os.path.splitext
    - os.stat
    - os.path.abspath
    - path.strip
    - <builtin>.len
    - os.access
    - tempfile.gettempdir
    - typing.NewType
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - os_path.strip
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.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: 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: os.path.relpath
    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: tempfile.gettempdir
    functionSourceFile: tempfile
    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: 140
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - <builtin>.str
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.abspath
    - path.strip
    - <builtin>.len
    - contents_mgr._get_os_path
    - os.access
    - tempfile.gettempdir
    - typing.NewType
    - jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._copy
    - log.debug
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - os_path.strip
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    - jupyter_server.services.contents.fileio.async_copy2_safe
    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: 465
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._copy
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 2
    functionsReached:
    - anyio.to_thread.run_sync
    - log.debug
    - jupyter_server.services.contents.fileio.async_copy2_safe
    - os.access
    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: 2
    functionLinenumber: 154
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 4
    functionsReached:
    - anyio.to_thread.run_sync
    - jupyter_server._tz.utcfromtimestamp
    - datetime.datetime.fromtimestamp
    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: 148
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - <builtin>.str
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.abspath
    - path.strip
    - <builtin>.len
    - contents_mgr._get_os_path
    - os.access
    - tempfile.gettempdir
    - typing.NewType
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._copy
    - log.debug
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    - jupyter_server.services.contents.fileio.async_copy2_safe
    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: 165
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.rename_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - <builtin>.str
    - jupyter_core.utils.ensure_dir_exists
    - os.path.isfile
    - os.path.splitext
    - os.path.abspath
    - path.strip
    - <builtin>.len
    - os.access
    - tempfile.gettempdir
    - typing.NewType
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    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: 178
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - <builtin>.str
    - jupyter_core.utils.ensure_dir_exists
    - os.path.isfile
    - os.path.splitext
    - os.path.abspath
    - path.strip
    - <builtin>.len
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - os.access
    - tempfile.gettempdir
    - typing.NewType
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    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: 189
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - <builtin>.str
    - jupyter_core.utils.ensure_dir_exists
    - os.path.isfile
    - os.path.splitext
    - os.path.abspath
    - path.strip
    - <builtin>.len
    - os.access
    - tempfile.gettempdir
    - typing.NewType
    - jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - os_path.strip
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    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: 209
    functionName: jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.create_file_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.fileio._simple_writing
    - os.lstat
    - os.path.islink
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.str
    - jupyter_server.utils.to_api_path
    - nbformat.v4.new_notebook.encode
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.stat
    - os.path.abspath
    - path.strip
    - <builtin>.len
    - os.access
    - tempfile.gettempdir
    - typing.NewType
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - fileobj.close
    - <builtin>.open
    - os_path.strip
    - base64.decodebytes
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.relpath
    - jupyter_server.services.contents.fileio.FileManagerMixin._save_file
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    - kwargs.setdefault
    - os.readlink
    - f.write
    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: 222
    functionName: jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.create_notebook_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.fileio._simple_writing
    - os.lstat
    - os.path.islink
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.str
    - jupyter_server.utils.to_api_path
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.stat
    - os.path.abspath
    - path.strip
    - <builtin>.len
    - os.access
    - tempfile.gettempdir
    - typing.NewType
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - fileobj.close
    - os_path.strip
    - <builtin>.open
    - nbformat.write
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin._save_notebook
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    - kwargs.setdefault
    - os.readlink
    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: 235
    functionName: jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.get_notebook_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os.lstat
    - os.path.split
    - f.read
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.str
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - nbformat.reads
    - bcontent.decode
    - jupyter_core.utils.ensure_dir_exists
    - os.path.isfile
    - os.path.splitext
    - os.path.abspath
    - path.strip
    - jupyter_server.services.contents.fileio.path_to_invalid
    - base64.encodebytes.decode
    - <builtin>.len
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - os.access
    - tempfile.gettempdir
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - typing.NewType
    - os.path.dirname
    - os.replace
    - os.path.splitdrive
    - parent.strip
    - jupyter_server.services.contents.fileio.replace_file
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - os.path.normpath
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - os.path.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    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: 252
    functionName: jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.get_file_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os.lstat
    - f.read
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.str
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - bcontent.decode
    - jupyter_core.utils.ensure_dir_exists
    - os.path.isfile
    - os.path.splitext
    - os.path.abspath
    - path.strip
    - base64.encodebytes.decode
    - <builtin>.len
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - os.access
    - tempfile.gettempdir
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - typing.NewType
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - 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.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    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: 275
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.create_file_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.fileio._simple_writing
    - os.lstat
    - os.path.islink
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - <builtin>.str
    - nbformat.v4.new_notebook.encode
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.abspath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - path.strip
    - <builtin>.len
    - os.access
    - tempfile.gettempdir
    - typing.NewType
    - jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - fileobj.close
    - os_path.strip
    - <builtin>.open
    - base64.decodebytes
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    - kwargs.setdefault
    - os.readlink
    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: 288
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.create_notebook_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.fileio._simple_writing
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - os.path.islink
    - os.lstat
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - <builtin>.str
    - jupyter_core.utils.ensure_dir_exists
    - functools.partial
    - os.path.splitext
    - os.path.abspath
    - path.strip
    - <builtin>.len
    - os.access
    - tempfile.gettempdir
    - typing.NewType
    - jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - fileobj.close
    - <builtin>.open
    - os_path.strip
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    - kwargs.setdefault
    - os.readlink
    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: 301
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.get_notebook_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os.lstat
    - os.path.split
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.async_replace_file
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - <builtin>.str
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_core.utils.ensure_dir_exists
    - bcontent.decode
    - functools.partial
    - os.path.isfile
    - os.path.splitext
    - os.path.abspath
    - path.strip
    - jupyter_server.services.contents.fileio.path_to_invalid
    - base64.encodebytes.decode
    - <builtin>.len
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - os.access
    - tempfile.gettempdir
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - typing.NewType
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.exists
    - os.path.normpath
    - os.path.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    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: 318
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.get_file_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - anyio.to_thread.run_sync
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - <builtin>.str
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_core.utils.ensure_dir_exists
    - os.path.isfile
    - os.path.splitext
    - os.path.abspath
    - path.strip
    - base64.encodebytes.decode
    - <builtin>.len
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - os.access
    - tempfile.gettempdir
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - typing.NewType
    - os.path.dirname
    - os.path.splitdrive
    - parent.strip
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.normpath
    - os.path.relpath
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.startswith
    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: 27
    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: 32
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f34fe860a60>
    argNames:
    - src
    - dst
    - log
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: jupyter_server.services.contents.fileio.copy2_safe
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 4
    functionsReached:
    - shutil.copyfile
    - log.debug
    - shutil.copystat
    - os.access
    linkageType: pythonLinkage
    raised:
    - PermissionError
    returnType: N/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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f34ffd159a0>
    argNames:
    - src
    - dst
    - log
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 56
    functionName: jupyter_server.services.contents.fileio.async_copy2_safe
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 3
    functionsReached:
    - anyio.to_thread.run_sync
    - log.debug
    - os.access
    linkageType: pythonLinkage
    raised:
    - PermissionError
    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: 74
    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: 33
    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.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: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 12
    IfCount: 6
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f34fe851460>
    - <ast.Constant object at 0x7f34fe851af0>
    - <ast.Constant object at 0x7f34fe851370>
    argNames:
    - path
    - text
    - encoding
    - log
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 89
    functionName: jupyter_server.services.contents.fileio.atomic_writing
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 0
    functionsReached:
    - os.path.split
    - os.path.islink
    - fileobj.flush
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os.fsync
    - os.path.isfile
    - os.getcwd
    - os.access
    - log.debug
    - os.path.dirname
    - os.replace
    - fileobj.close
    - <builtin>.open
    - jupyter_server.services.contents.fileio.replace_file
    - fileobj.fileno
    - shutil.copystat
    - jupyter_server.services.contents.fileio.copy2_safe
    - os.remove
    - os.path.join
    - kwargs.setdefault
    - shutil.copyfile
    - os.readlink
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 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 0x7f34ff403d00>
    - <ast.Constant object at 0x7f34ff403130>
    - <ast.Constant object at 0x7f34ff403700>
    argNames:
    - path
    - text
    - encoding
    - log
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 161
    functionName: jupyter_server.services.contents.fileio._simple_writing
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 17
    functionsReached:
    - os.path.islink
    - os.path.dirname
    - fileobj.close
    - <builtin>.open
    - os.path.join
    - kwargs.setdefault
    - os.readlink
    linkageType: 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
    - traitlets.Enum
    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: 233
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin.open
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 34
    functionsReached:
    - os_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - <builtin>.len
    - os_path.startswith
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - typing.NewType
    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: 239
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 16
    functionsReached:
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.islink
    - os.path.dirname
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - fileobj.close
    - os_path.strip
    - <builtin>.open
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - <builtin>.len
    - os_path.startswith
    - kwargs.setdefault
    - os.readlink
    - typing.NewType
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.reads
    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: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 34
    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: 24
    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: 28
    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: 32
    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: 36
    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: 40
    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: 44
    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: 49
    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: 77
    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: 113
    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: 106
    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: 94
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - contents_mgr.get
    - jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_notebook_checkpoint
    - contents_mgr.save
    - 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: 133
    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: 120
    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: 151
    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: 155
    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: 159
    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: 163
    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: 167
    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: 171
    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: 176
    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: 188
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - contents_mgr.get
    - jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_file_checkpoint
    - 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: 225
    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: 218
    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: 205
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - contents_mgr.get
    - jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_notebook_checkpoint
    - contents_mgr.save
    - jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.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: 245
    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: 232
    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._tz
    functionSourceFile: jupyter_server._tz
    functionUses: 0
    functionsReached:
    - datetime.tzinfo.__init__
    - datetime.timedelta
    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: 20
    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: 24
    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.datetime.fromtimestamp
    functionSourceFile: datetime
    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: 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:
    - dt
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 41
    functionName: jupyter_server._tz.isoformat
    functionSourceFile: jupyter_server._tz
    functionUses: 4
    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: 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: 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: 60
    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: 78
    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:
    - traitlets.Instance
    - traitlets.Bool
    - traitlets.Unicode
    - <builtin>.int
    - traitlets.observe
    - traitlets.default
    - traitlets.Float
    - traitlets.Int
    - <builtin>.list
    - traitlets.Instance.tag
    - os.environ.get
    - traitlets.Type
    - traitlets.validate
    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: 100
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._default_event_logger
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - jupyter_events.EventLogger
    - traitlets.config.SingletonConfigurable.log.info
    - <builtin>.hasattr
    - jupyter_events.EventLogger.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: traitlets.config.SingletonConfigurable.log.info
    functionSourceFile: traitlets
    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
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 112
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.emit
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: 130
    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: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._url_validate
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.len
    - jupyter_server.gateway.gateway_client.GatewayClient.emit
    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: 155
    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: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 162
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._ws_url_validate
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.len
    - jupyter_server.gateway.gateway_client.GatewayClient.emit
    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: 180
    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: 192
    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: 207
    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: 223
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._connect_timeout_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.float
    - 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: 235
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._request_timeout_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.float
    - 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: 248
    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: 261
    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: 274
    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: 287
    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: 300
    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: 315
    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: 334
    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: 351
    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: 364
    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: 377
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._validate_cert_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - os.environ.get
    - <builtin>.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: 395
    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: 419
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_interval_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.float
    - 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: 437
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_interval_max_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.float
    - 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: 455
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_max_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - 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: 469
    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: 485
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._launch_timeout_pad_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.float
    - 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: 504
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._accept_cookies_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - os.environ.get
    - <builtin>.bool
    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: 517
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._deprecated_trait
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - traitlets.config.SingletonConfigurable.log.warning
    - <builtin>.setattr
    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: 533
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.gateway_enabled
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.bool
    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: 543
    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: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 552
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.init_connection_args
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - json.loads
    - <builtin>.float
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 590
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.load_connection_args
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - expired_keys.append
    - expired_timedelta.total_seconds
    - <builtin>.str
    - traitlets.config.SingletonConfigurable._cookies.pop
    - morsel.get
    - <builtin>.int
    - <builtin>.float
    - <builtin>.len
    - traitlets.config.SingletonConfigurable.log.error
    - jupyter_server.gateway.gateway_client.GatewayClient._update_cookie_header
    - traitlets.config.SingletonConfigurable._cookies.items
    - <builtin>.next
    - given_value.update
    - headers.get
    - connection_args.get
    - datetime.datetime.now
    - jupyter_server.gateway.gateway_client.GatewayClient._clear_expired_cookies
    - header_key.lower
    - jupyter_server.gateway.gateway_client.GatewayClient.init_connection_args
    - <builtin>.isinstance
    - kwargs.setdefault
    - 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: 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: 683
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._update_cookie_header
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 1
    functionsReached:
    - connection_args.get
    - morsel.get
    - expired_keys.append
    - datetime.datetime.now
    - traitlets.config.SingletonConfigurable._cookies.items
    - <builtin>.float
    - jupyter_server.gateway.gateway_client.GatewayClient._clear_expired_cookies
    - expired_timedelta.total_seconds
    - header_key.lower
    - <builtin>.next
    - headers.get
    - traitlets.config.SingletonConfigurable._cookies.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 631
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.update_cookies
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - morsel.get
    - datetime.datetime.now
    - email.utils.parsedate_to_datetime
    - http.cookies.SimpleCookie.load
    - <builtin>.str
    - email.utils.parsedate_to_datetime.total_seconds
    - headers.get_list
    - <builtin>.iter
    - <builtin>.next
    - http.cookies.SimpleCookie.items
    - http.cookies.SimpleCookie
    - traitlets.config.SingletonConfigurable.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: headers.get_list
    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: http.cookies.SimpleCookie
    functionSourceFile: http
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.load
    functionSourceFile: http
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.items
    functionSourceFile: http
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 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: 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: 667
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._clear_expired_cookies
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 2
    functionsReached:
    - morsel.get
    - expired_keys.append
    - datetime.datetime.now
    - traitlets.config.SingletonConfigurable._cookies.items
    - <builtin>.float
    - expired_timedelta.total_seconds
    - traitlets.config.SingletonConfigurable._cookies.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.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: 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: 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>.max
    - <builtin>.int
    - <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: 725
    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: 730
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 13
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - logging.getLogger
    - <builtin>.any
    - asyncio.sleep
    - <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: 738
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 14
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - logging.getLogger
    - <builtin>.any
    - asyncio.sleep
    - <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: 756
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 15
    functionsReached:
    - <builtin>.any
    - asyncio.sleep
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - endpoint
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 778
    functionName: jupyter_server.gateway.gateway_client.gateway_request
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 12
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - e.response.body.decode
    - gateway_client.emit
    - gateway_client.load_connection_args
    - logging.getLogger
    - <builtin>.any
    - error_payload.get
    - tornado.httpclient.AsyncHTTPClient
    - asyncio.sleep
    - <builtin>.isinstance
    - traitlets.config.SingletonConfigurable.instance
    - json.loads
    - gateway_client.update_cookies
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gateway_client.load_connection_args
    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: gateway_client.emit
    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: 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: gateway_client.update_cookies
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.gateway.connections
    functionSourceFile: jupyter_server.gateway.connections
    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.connections.GatewayWebSocketConnection
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - traitlets.Bool
    - traitlets.Int
    - traitlets.Unicode
    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: 2
    functionLinenumber: 40
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection.connect
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - tornado.escape.url_escape
    - jupyter_server.utils.url_path_join
    - typing.cast
    - tornado.websocket.websocket_connect
    - traitlets.Instance.add_done_callback
    - typing.cast.add_done_callback
    - tornado.httpclient.HTTPRequest
    - traitlets.config.SingletonConfigurable.instance
    - tornado.ioloop.IOLoop.current
    - traitlets.config.LoggingConfigurable.log.info
    - s.strip
    - loop.add_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: tornado.websocket.websocket_connect
    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: typing.cast.add_done_callback
    functionSourceFile: typing
    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: 4
    functionLinenumber: -1
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection.connect.<lambda1>
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - message.decode
    - traitlets.config.LoggingConfigurable.log.isEnabledFor
    - traitlets.config.LoggingConfigurable.log.error
    - traitlets.config.LoggingConfigurable.log.debug
    - asyncio.sleep
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._get_message_summary
    - jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_outgoing_message
    - loop.spawn_callback
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.min
    - random.randint
    - traitlets.config.SingletonConfigurable.instance
    - tornado.ioloop.IOLoop.current
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._read_messages
    - traitlets.Instance.write_message
    - tornado.escape.json_decode
    - summary.append
    - <builtin>.isinstance
    - traitlets.Instance.read_message
    - tornado.escape.utf8
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 7
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 88
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection._read_messages
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 1
    functionsReached:
    - message.decode
    - traitlets.config.LoggingConfigurable.log.isEnabledFor
    - traitlets.config.LoggingConfigurable.log.error
    - traitlets.config.LoggingConfigurable.log.debug
    - asyncio.sleep
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._get_message_summary
    - jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_outgoing_message
    - loop.spawn_callback
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.min
    - random.randint
    - traitlets.config.SingletonConfigurable.instance
    - tornado.ioloop.IOLoop.current
    - traitlets.Instance.write_message
    - tornado.escape.json_decode
    - summary.append
    - <builtin>.isinstance
    - traitlets.Instance.read_message
    - tornado.escape.utf8
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 6
    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: 63
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection._connection_done
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - fut.result
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.SingletonConfigurable.instance
    - fut.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: fut.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: fut.result
    functionSourceFile: <builtin>
    functionUses: 2
    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: 77
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection.disconnect
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - typing.cast.cancel
    - traitlets.Instance.cancel
    - traitlets.Instance.close
    - traitlets.config.LoggingConfigurable.log.debug
    - typing.cast.done
    - traitlets.Instance.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: traitlets.Instance.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: typing.cast.done
    functionSourceFile: typing
    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: typing.cast.cancel
    functionSourceFile: typing
    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.cancel
    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.read_message
    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: message.decode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - incoming_msg
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 133
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_outgoing_message
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 2
    functionsReached:
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._get_message_summary
    - traitlets.Instance.write_message
    - traitlets.config.LoggingConfigurable.log.debug
    - summary.append
    - tornado.escape.json_decode
    - traitlets.config.LoggingConfigurable.log.isEnabledFor
    - tornado.escape.utf8
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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.write_message
    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.log.isEnabledFor
    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: tornado.escape.utf8
    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.escape.json_decode
    functionSourceFile: tornado
    functionUses: 13
    functionsReached: []
    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: 163
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection._get_message_summary
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 3
    functionsReached:
    - summary.append
    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: 2
    functionLinenumber: 146
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_incoming_message
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 1
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.error
    - traitlets.Instance.write_message
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._write_message
    - tornado.ioloop.IOLoop.current
    - loop.add_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: 3
    functionLinenumber: -1
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_incoming_message.<lambda1>
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.error
    - traitlets.Instance.write_message
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._write_message
    - tornado.ioloop.IOLoop.current
    - jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_incoming_message
    - loop.add_future
    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: 154
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection._write_message
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 2
    functionsReached:
    - traitlets.Instance.write_message
    - traitlets.config.LoggingConfigurable.log.error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: summary.append
    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: 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: 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: 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: 47
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecord.__eq__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - <builtin>.isinstance
    - <builtin>.all
    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: 79
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecord.update
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.hasattr
    - <builtin>.setattr
    - <builtin>.isinstance
    - dataclasses.fields
    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: 105
    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: 145
    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: 111
    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: 115
    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: 126
    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: 130
    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: 153
    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.tag
    - traitlets.Instance
    - inspect.isclass
    - jupyter_server.traittypes.InstanceFromClasses.__init__
    - <builtin>.all
    - traitlets.Unicode
    - <builtin>.isinstance
    - <builtin>.super
    - 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: 175
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager._validate_database_filepath
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - path.is_dir
    - pathlib.Path
    - path.exists
    - f.read
    - header.startswith
    - <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 0x7f34ff22e850>
    - <ast.Constant object at 0x7f34ff22e6a0>
    - <ast.Constant object at 0x7f34ff22e460>
    argNames:
    - self
    - klasses
    - args
    - kw
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 135
    functionName: jupyter_server.traittypes.InstanceFromClasses.__init__
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - inspect.isclass
    - <builtin>.all
    - <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: 203
    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: 214
    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: 225
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.connection
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - sqlite3.connect
    - pysqlite2.dbapi2.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: sqlite3.connect
    functionSourceFile: sqlite3
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 233
    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: 239
    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: 243
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.session_exists
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - traitlets.Instance.kernel_model
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    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 0x7f34ff5369d0>
    argNames:
    - self
    - row
    - tolerate_culled
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 473
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 7
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - traitlets.Instance.kernel_model
    - 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: 259
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.new_session_id
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - uuid.uuid4
    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 0x7f34fed188e0>
    - <ast.Constant object at 0x7f34fed183a0>
    - <ast.Constant object at 0x7f34fed18f10>
    - <ast.Constant object at 0x7f34fed18460>
    - <ast.Constant object at 0x7f34fef04b80>
    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: 263
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.create_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - traitlets.ClassBasedTraitType.get_kernel_path
    - <builtin>.str
    - <builtin>.list
    - jupyter_server.services.sessions.sessionmanager.SessionManager.start_kernel_for_session
    - jupyter_server.services.sessions.sessionmanager.SessionManager.save_session
    - traitlets.Instance.start_kernel
    - jupyter_server.services.sessions.sessionmanager.SessionManager.new_session_id
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - uuid.uuid4
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - typing.cast
    - jupyter_core.utils.ensure_async
    - traitlets.Instance.kernel_model
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.remove
    - traitlets.Instance.cwd_for_path
    - kwargs.values
    - q.append
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_session
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update
    - os.path.join
    - <builtin>.isinstance
    - kwargs.items
    - conditions.append
    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: 315
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.start_kernel_for_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 1
    functionsReached:
    - traitlets.Instance.start_kernel
    - typing.cast
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env
    - traitlets.ClassBasedTraitType.get_kernel_path
    - jupyter_core.utils.ensure_async
    - os.path.join
    - <builtin>.isinstance
    - traitlets.Instance.cwd_for_path
    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 0x7f34feda3850>
    - <ast.Constant object at 0x7f34feda3eb0>
    - <ast.Constant object at 0x7f34feda35b0>
    - <ast.Constant object at 0x7f34feda3700>
    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: 350
    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
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - jupyter_core.utils.ensure_async
    - traitlets.Instance.kernel_model
    - q.append
    - kwargs.items
    - <builtin>.list
    - kwargs.values
    - conditions.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 0x7f34ff33ba30>
    argNames:
    - self
    - path
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 296
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - traitlets.Instance.cwd_for_path
    - 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.Instance.cwd_for_path
    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.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: 382
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.get_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 4
    functionsReached:
    - conditions.append
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - traitlets.Instance.kernel_model
    - jupyter_core.utils.ensure_async
    - kwargs.items
    - <builtin>.list
    - kwargs.values
    - q.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: 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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - session_id
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 433
    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
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env
    - <builtin>.hasattr
    - jupyter_core.utils.ensure_async
    - traitlets.Instance.kernel_model
    - os.path.join
    - traitlets.Instance.update_env
    - q.append
    - <builtin>.isinstance
    - traitlets.Instance.cwd_for_path
    - kwargs.items
    - <builtin>.list
    - sets.append
    - kwargs.values
    - conditions.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: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.update_env
    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
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 469
    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: 509
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.list_sessions
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - result.append
    - c.fetchall
    - traitlets.Instance.kernel_model
    - 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: 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: 524
    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
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update
    - jupyter_core.utils.ensure_async
    - traitlets.Instance.kernel_model
    - q.append
    - traitlets.Instance.shutdown_kernel
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.remove
    - kwargs.items
    - <builtin>.list
    - kwargs.values
    - conditions.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: 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 0x7f34feacd730>
    - <ast.Constant object at 0x7f34feacd250>
    argNames:
    - self
    - default_value
    - klasses
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 15
    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: 62
    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: 66
    functionName: jupyter_server.traittypes.TypeFromClasses.validate
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - jupyter_server.traittypes.TypeFromClasses.subclass_from_klasses
    - traitlets.ClassBasedTraitType.error
    - traitlets.ClassBasedTraitType._resolve_string
    - <builtin>.issubclass
    - <builtin>.any
    - <builtin>.isinstance
    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: 85
    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: 98
    functionName: jupyter_server.traittypes.TypeFromClasses.instance_init
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - jupyter_server.traittypes.TypeFromClasses._resolve_classes
    - <builtin>.isinstance
    - <builtin>.super
    - traitlets.ClassBasedTraitType._resolve_string
    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: 103
    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: 120
    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: 183
    functionName: jupyter_server.traittypes.InstanceFromClasses.instance_from_importable_klasses
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - <builtin>.any
    - <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
    - obj
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 187
    functionName: jupyter_server.traittypes.InstanceFromClasses.validate
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - traitlets.ClassBasedTraitType.error
    - <builtin>.isinstance
    - <builtin>.any
    - jupyter_server.traittypes.InstanceFromClasses.instance_from_importable_klasses
    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: 194
    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: 209
    functionName: jupyter_server.traittypes.InstanceFromClasses.instance_init
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - jupyter_server.traittypes.InstanceFromClasses._resolve_classes
    - <builtin>.isinstance
    - <builtin>.super
    - traitlets.ClassBasedTraitType._resolve_string
    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: 214
    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: 229
    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: 237
    functionName: jupyter_server.traittypes.InstanceFromClasses.default_value_repr
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - jupyter_server.traittypes.InstanceFromClasses.make_dynamic_default
    - <builtin>.repr
    - traitlets.ClassBasedTraitType.klass
    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: 241
    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: 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: 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: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jupyter_server.auth.logout.LogoutHandler
    functionSourceFile: jupyter_server.auth.logout
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.allow_unauthenticated
    - typing.cast
    - functools.wraps
    - <builtin>.setattr
    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: 13
    functionName: jupyter_server.auth.logout.LogoutHandler.get
    functionSourceFile: jupyter_server.auth.logout
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - template.render
    - ns.update
    - tornado.web.RequestHandler.write
    - jupyter_server.base.handlers.JupyterHandler.get_template
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 47
    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: 51
    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: 54
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.url_path_join
    - s.strip
    - traitlets.config.SingletonConfigurable.instance
    - <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: 61
    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: 68
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.start_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - os.path.normpath
    - os.path.dirname
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - jupyter_server.utils.to_os_path
    - os.path.join
    - <builtin>.str
    - tornado.ioloop.PeriodicCallback.start
    - os.path.isdir
    - traitlets.Any
    - km.start_kernel
    - tornado.ioloop.IOLoop.current
    - tornado.ioloop.PeriodicCallback
    - kwargs.setdefault
    - zmq.Context
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cwd_for_path
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.initialize_culler
    - traitlets.utils.importstring.import_item
    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: 197
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cwd_for_path
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - os.path.normpath
    - os.path.dirname
    - jupyter_server.utils.to_os_path
    - os.path.join
    - <builtin>.str
    - os.path.isdir
    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: 644
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.initialize_culler
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - tornado.ioloop.PeriodicCallback.start
    - tornado.ioloop.IOLoop.current
    - tornado.ioloop.PeriodicCallback
    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: 96
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.kernel_model
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    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: 111
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.list_kernels
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 1
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - <builtin>.any
    - <builtin>.list
    - traitlets.Dict.copy
    - gateway_client.update_cookies
    - jupyter_server.gateway.gateway_client.gateway_request
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - logging.getLogger
    - asyncio.sleep
    - traitlets.Dict.pop
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - kernel_models.values
    - gateway_client.load_connection_args
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - tornado.escape.json_decode
    - e.response.body.decode
    - gateway_client.emit
    - <builtin>.isinstance
    - tornado.httpclient.AsyncHTTPClient
    - json.loads
    - culled_ids.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: 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 0x7f34ffd69520>
    - <ast.Constant object at 0x7f34ffd69a60>
    argNames:
    - self
    - kernel_id
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 163
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.shutdown_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.Dict.pop
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_server.gateway.managers.GatewayMappingKernelManager.remove_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_core.utils.ensure_async
    - traitlets.config.LoggingConfigurable.shutdown_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 0x7f34ffd69190>
    argNames:
    - self
    - kernel_id
    - now
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 179
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.restart_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_core.utils.ensure_async
    - traitlets.config.LoggingConfigurable.restart_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    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: 190
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.interrupt_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_core.utils.ensure_async
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - traitlets.config.LoggingConfigurable.interrupt_kernel
    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 0x7f34ff69d370>
    argNames:
    - self
    - now
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 201
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.shutdown_all
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.Dict.pop
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_server.gateway.managers.GatewayMappingKernelManager.remove_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_core.utils.ensure_async
    - <builtin>.list
    - traitlets.config.LoggingConfigurable.shutdown_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: 209
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.cull_kernels
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - <builtin>.any
    - <builtin>.list
    - traitlets.Dict.copy
    - gateway_client.update_cookies
    - jupyter_server.gateway.gateway_client.gateway_request
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - logging.getLogger
    - asyncio.sleep
    - traitlets.Dict.pop
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - kernel_models.values
    - gateway_client.load_connection_args
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - tornado.escape.json_decode
    - e.response.body.decode
    - gateway_client.emit
    - <builtin>.isinstance
    - <builtin>.super
    - jupyter_server.gateway.managers.GatewayMappingKernelManager.list_kernels
    - tornado.httpclient.AsyncHTTPClient
    - json.loads
    - culled_ids.append
    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: 218
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.url_path_join
    - <builtin>.super
    - traitlets.config.SingletonConfigurable.instance
    - os.environ.get
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._get_endpoint_for_user_filter
    - 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: 232
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_specs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 239
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager._replace_path_kernelspec_resources
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 2
    functionsReached:
    - jupyter_server.utils.url_path_join
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.len
    - str.rsplit
    - 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 0x7f34ff505160>
    argNames:
    - self
    - kernel_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 264
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 3
    functionsReached:
    - tornado.escape.url_escape
    - jupyter_server.utils.url_path_join
    - s.strip
    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: 6
    functionLinenumber: 275
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.get_all_specs
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._replace_path_kernelspec_resources
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url
    - jupyter_server.gateway.managers.GatewayKernelSpecManager.list_kernel_specs
    - <builtin>.any
    - gateway_client.update_cookies
    - jupyter_server.gateway.gateway_client.gateway_request
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - traitlets.config.LoggingConfigurable.log.debug
    - logging.getLogger
    - <builtin>.len
    - asyncio.sleep
    - traitlets.config.LoggingConfigurable.log.info
    - fetched_kspecs.get
    - jupyter_server.utils.url_path_join
    - tornado.escape.url_escape
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - gateway_client.load_connection_args
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - str.rsplit
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - tornado.escape.json_decode
    - e.response.body.decode
    - gateway_client.emit
    - tornado.httpclient.AsyncHTTPClient
    - <builtin>.isinstance
    - json.loads
    - s.strip
    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: 297
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.list_kernel_specs
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 1
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._replace_path_kernelspec_resources
    - <builtin>.any
    - gateway_client.update_cookies
    - jupyter_server.gateway.gateway_client.gateway_request
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - traitlets.config.LoggingConfigurable.log.debug
    - logging.getLogger
    - <builtin>.len
    - asyncio.sleep
    - tornado.escape.url_escape
    - jupyter_server.utils.url_path_join
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - gateway_client.load_connection_args
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - str.rsplit
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - tornado.escape.json_decode
    - e.response.body.decode
    - gateway_client.emit
    - tornado.httpclient.AsyncHTTPClient
    - <builtin>.isinstance
    - json.loads
    - 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: 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: 306
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.get_kernel_spec
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url
    - <builtin>.str
    - <builtin>.any
    - gateway_client.update_cookies
    - jupyter_server.gateway.gateway_client.gateway_request
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - traitlets.config.LoggingConfigurable.log.debug
    - logging.getLogger
    - asyncio.sleep
    - tornado.escape.url_escape
    - jupyter_server.utils.url_path_join
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - gateway_client.load_connection_args
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - tornado.escape.json_decode
    - e.response.body.decode
    - gateway_client.emit
    - tornado.httpclient.AsyncHTTPClient
    - <builtin>.isinstance
    - json.loads
    - s.strip
    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: 331
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.get_kernel_spec_resource
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - <builtin>.str
    - <builtin>.any
    - gateway_client.update_cookies
    - jupyter_server.gateway.gateway_client.gateway_request
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - traitlets.config.LoggingConfigurable.log.debug
    - logging.getLogger
    - asyncio.sleep
    - jupyter_server.utils.url_path_join
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - gateway_client.load_connection_args
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - e.response.body.decode
    - gateway_client.emit
    - tornado.httpclient.AsyncHTTPClient
    - <builtin>.isinstance
    - json.loads
    - 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: 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: 362
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.gateway.managers.GatewayKernelManager
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - functools.wraps
    - jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event
    - jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method
    - traitlets.default
    - traitlets.DottedObjectName
    - 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: 387
    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: 390
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.url_path_join
    - datetime.datetime.now
    - <builtin>.super
    - traitlets.config.SingletonConfigurable.instance
    - s.strip
    - jupyter_server._tz.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 403
    functionName: 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: 414
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.client
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.Instance.clone
    - info.update
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - kw.update
    - traitlets.Type
    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 0x7f34fed56370>
    argNames:
    - self
    - model
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 430
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.refresh_model
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 2
    functionsReached:
    - datetime.datetime.strptime
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - <builtin>.any
    - gateway_client.update_cookies
    - jupyter_server.gateway.gateway_client.gateway_request
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - <builtin>.int
    - traitlets.config.LoggingConfigurable.log.debug
    - logging.getLogger
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - traitlets.config.LoggingConfigurable.log.warning
    - gateway_client.load_connection_args
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - tornado.escape.json_decode
    - e.response.body.decode
    - gateway_client.emit
    - <builtin>.isinstance
    - tornado.httpclient.AsyncHTTPClient
    - json.loads
    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 0x7f34ffd5e970>
    argNames:
    - success_msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 773
    functionName: jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 794
    functionName: jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - functools.wraps
    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: 476
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.start_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - datetime.datetime.strptime
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - <builtin>.str
    - <builtin>.any
    - gateway_client.update_cookies
    - kernel_env.get
    - tornado.escape.json_encode
    - jupyter_server.gateway.gateway_client.gateway_request
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - k.startswith
    - <builtin>.int
    - traitlets.config.LoggingConfigurable.log.debug
    - logging.getLogger
    - asyncio.sleep
    - payload_envs.update
    - traitlets.config.LoggingConfigurable.log.info
    - tornado.escape.url_escape
    - jupyter_server.utils.url_path_join
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - traitlets.config.LoggingConfigurable.log.warning
    - gateway_client.load_connection_args
    - jupyter_server.gateway.managers.GatewayKernelManager.refresh_model
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - payload_envs.items
    - os.environ.copy
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - kwargs.get
    - tornado.escape.json_decode
    - e.response.body.decode
    - gateway_client.emit
    - tornado.httpclient.AsyncHTTPClient
    - <builtin>.isinstance
    - os.environ.get
    - json.loads
    - 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: 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 0x7f34fe688f10>
    - <ast.Constant object at 0x7f34fe6888e0>
    argNames:
    - self
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 530
    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.gateway_request
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - traitlets.config.LoggingConfigurable.log.debug
    - e.response.body.decode
    - gateway_client.emit
    - gateway_client.load_connection_args
    - logging.getLogger
    - <builtin>.any
    - error_payload.get
    - tornado.httpclient.AsyncHTTPClient
    - asyncio.sleep
    - <builtin>.isinstance
    - traitlets.config.SingletonConfigurable.instance
    - json.loads
    - gateway_client.update_cookies
    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: 547
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.restart_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - <builtin>.any
    - gateway_client.update_cookies
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.escape.json_encode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - traitlets.config.LoggingConfigurable.log.debug
    - logging.getLogger
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - gateway_client.load_connection_args
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - e.response.body.decode
    - gateway_client.emit
    - tornado.httpclient.AsyncHTTPClient
    - <builtin>.isinstance
    - json.loads
    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: 564
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.interrupt_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - <builtin>.any
    - gateway_client.update_cookies
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.escape.json_encode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - traitlets.config.LoggingConfigurable.log.debug
    - logging.getLogger
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - gateway_client.load_connection_args
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - e.response.body.decode
    - gateway_client.emit
    - tornado.httpclient.AsyncHTTPClient
    - <builtin>.isinstance
    - json.loads
    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: 6
    functionLinenumber: 578
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.is_alive
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - datetime.datetime.strptime
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - <builtin>.any
    - gateway_client.update_cookies
    - jupyter_server.gateway.gateway_client.gateway_request
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - <builtin>.int
    - traitlets.config.LoggingConfigurable.log.debug
    - logging.getLogger
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - traitlets.config.LoggingConfigurable.log.warning
    - gateway_client.load_connection_args
    - jupyter_server.gateway.managers.GatewayKernelManager.refresh_model
    - error_payload.get
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - tornado.escape.json_decode
    - e.response.body.decode
    - gateway_client.emit
    - <builtin>.isinstance
    - tornado.httpclient.AsyncHTTPClient
    - json.loads
    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 0x7f34fecd2dc0>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 589
    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: 602
    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 0x7f34febf38e0>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 610
    functionName: jupyter_server.gateway.managers.ChannelQueue._async_get
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 1
    functionsReached:
    - time.monotonic
    - asyncio.sleep
    - <builtin>.float
    - queue.Queue.get
    linkageType: pythonLinkage
    raised:
    - ValueError
    - 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: 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: 630
    functionName: jupyter_server.gateway.managers.ChannelQueue.get_msg
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - typing.cast
    - kwargs.get
    - queue.Queue.task_done
    - jupyter_server.gateway.managers.ChannelQueue._async_get
    - <builtin>.float
    - traitlets.config.LoggingConfigurable.log.debug
    - asyncio.sleep
    - queue.Queue.get
    - time.monotonic
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 643
    functionName: jupyter_server.gateway.managers.ChannelQueue.send
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - json.dumps
    - traitlets.config.LoggingConfigurable.log.debug
    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: 655
    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: 661
    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: 664
    functionName: jupyter_server.gateway.managers.ChannelQueue.stop
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - queue.Queue.qsize
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.len
    - msgs.append
    - queue.Queue.get_nowait
    - queue.Queue.empty
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 682
    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: 723
    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 0x7f34feb4b940>
    - <ast.Constant object at 0x7f34feb4bd60>
    - <ast.Constant object at 0x7f34feb4b5e0>
    - <ast.Constant object at 0x7f34feb4b160>
    - <ast.Constant object at 0x7f34feb4bbb0>
    argNames:
    - self
    - shell
    - iopub
    - stdin
    - hb
    - control
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 736
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.start_channels
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - tornado.escape.url_escape
    - jupyter_server.utils.url_path_join
    - threading.Thread.start
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - traitlets.config.SingletonConfigurable.instance
    - s.strip
    - websocket.create_connection
    - threading.Thread
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 771
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.stop_channels
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - threading.Thread.join
    - <builtin>.super
    - traitlets.config.LoggingConfigurable.log.debug
    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: 793
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.shell_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    - <builtin>.super
    - traitlets.config.LoggingConfigurable.log.debug
    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: 804
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.iopub_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    - <builtin>.super
    - traitlets.config.LoggingConfigurable.log.debug
    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: 815
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.stdin_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    - <builtin>.super
    - traitlets.config.LoggingConfigurable.log.debug
    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: 826
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.hb_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    - <builtin>.super
    - traitlets.config.LoggingConfigurable.log.debug
    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: 837
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.control_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    - <builtin>.super
    - traitlets.config.LoggingConfigurable.log.debug
    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: 847
    functionName: jupyter_server.gateway.managers.GatewayKernelClient._route_responses
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - tornado.escape.utf8
    - traitlets.config.LoggingConfigurable.log.warning
    - tornado.escape.json_decode
    - traitlets.config.LoggingConfigurable.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: 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.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.Instance
    - traitlets.Bool
    - traitlets.List
    - traitlets.Dict
    - traitlets.Unicode
    - traitlets.Integer
    - traitlets.default
    - traitlets.Any
    - traitlets.Float
    - 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: 64
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    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: 86
    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: 155
    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: 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: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 163
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.__init__
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_client.multikernelmanager.MultiKernelManager.__init__
    - jupyter_server._tz.utcnow
    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: 192
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._handle_kernel_died
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 1
    functionsReached:
    - traitlets.Dict.pop
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    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: 206
    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: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 8
    IfCount: 6
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 214
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_start_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - warnings.warn
    - tornado.ioloop.PeriodicCallback.start
    - <builtin>.str
    - jupyter_client.session.Session._new_auth
    - os.path.isdir
    - <builtin>.list
    - json.dumps
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - <builtin>.getattr
    - binascii.b2a_base64
    - jupyter_client.session.Session._check_packers
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - traitlets.Dict.pop
    - os.getpid
    - <builtin>.dict
    - kernel.connect_iopub
    - jupyter_client.session.pickle_packer
    - binascii.b2a_base64.decode
    - os.path.normpath
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start
    - tornado.ioloop.PeriodicCallback
    - pickle.dumps
    - env.keys
    - kernel._activity_stream.on_recv
    - pickle.loads
    - <builtin>.int
    - <builtin>.len
    - <builtin>.map
    - jupyter_core.utils.ensure_async
    - jupyter_client.session.json_packer
    - jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback
    - zmq.Context
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.initialize_culler
    - traitlets.log.get_logger.warning
    - <builtin>.hasattr
    - s.decode
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.set
    - kwargs.setdefault
    - km.start_kernel
    - math.isinf
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity
    - obj.items
    - traitlets.Any
    - asyncio.create_task
    - math.isnan
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - os.path.dirname
    - tornado.ioloop.IOLoop.current
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - km.ready.exception
    - jupyter_server.utils.to_os_path
    - kwargs.items
    - jupyter_server._tz.utcnow
    - obj.isoformat
    - <builtin>.type
    - <builtin>.repr
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - jupyter_client.session.json_unpacker
    - jupyter_client.multikernelmanager.MultiKernelManager._add_kernel_when_ready
    - uuid.uuid4
    - <builtin>.float
    - traitlets.log.get_logger
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cwd_for_path
    - jupyter_client.jsonutil.json_clean
    - traitlets.utils.importstring.import_item
    - jupyter_client.jsonutil.squash_dates
    - notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    - asyncio.wrap_future
    - prometheus_client.Gauge.labels
    - hmac.HMAC
    - obj.strftime
    - kwargs.pop
    - jupyter_client.session.utcnow
    - kwargs.get
    - datetime.datetime.now
    - jupyter_client.multikernelmanager.MultiKernelManager.pre_start_kernel
    - jupyter_client.session.Session.__init__
    - os.path.join
    - <builtin>.isinstance
    - <builtin>.super
    - json.loads
    - jupyter_client.multikernelmanager.MultiKernelManager._async_start_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: env.keys
    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:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 278
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 1
    functionsReached:
    - math.isinf
    - obj.isoformat
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity
    - <builtin>.type
    - obj.items
    - warnings.warn
    - <builtin>.repr
    - <builtin>.str
    - jupyter_client.session.Session._new_auth
    - traitlets.Any
    - <builtin>.list
    - kernel._activity_stream.on_recv
    - pickle.loads
    - json.dumps
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.session.json_unpacker
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - math.isnan
    - json.loads
    - <builtin>.int
    - <builtin>.float
    - binascii.b2a_base64
    - <builtin>.len
    - traitlets.log.get_logger
    - jupyter_client.session.Session._check_packers
    - jupyter_client.jsonutil.json_clean
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - <builtin>.map
    - os.getpid
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - asyncio.wrap_future
    - jupyter_client.session.json_packer
    - kernel.connect_iopub
    - jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback
    - hmac.HMAC
    - jupyter_client.session.pickle_packer
    - obj.strftime
    - binascii.b2a_base64.decode
    - jupyter_client.session.utcnow
    - traitlets.log.get_logger.warning
    - datetime.datetime.now
    - <builtin>.hasattr
    - jupyter_client.session.Session.__init__
    - s.decode
    - <builtin>.isinstance
    - <builtin>.super
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.set
    - pickle.dumps
    - jupyter_server._tz.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: 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: 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: 582
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 3
    functionsReached:
    - math.isinf
    - obj.isoformat
    - <builtin>.type
    - obj.items
    - warnings.warn
    - <builtin>.repr
    - <builtin>.str
    - jupyter_client.session.Session._new_auth
    - traitlets.Any
    - <builtin>.list
    - kernel._activity_stream.on_recv
    - pickle.loads
    - json.dumps
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.session.json_unpacker
    - math.isnan
    - json.loads
    - <builtin>.int
    - <builtin>.float
    - binascii.b2a_base64
    - <builtin>.len
    - traitlets.log.get_logger
    - jupyter_client.session.Session._check_packers
    - jupyter_client.jsonutil.json_clean
    - traitlets.utils.importstring.import_item
    - <builtin>.map
    - os.getpid
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - jupyter_client.session.json_packer
    - kernel.connect_iopub
    - hmac.HMAC
    - jupyter_client.session.pickle_packer
    - obj.strftime
    - binascii.b2a_base64.decode
    - jupyter_client.session.utcnow
    - traitlets.log.get_logger.warning
    - datetime.datetime.now
    - <builtin>.hasattr
    - jupyter_client.session.Session.__init__
    - s.decode
    - <builtin>.isinstance
    - <builtin>.super
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.set
    - pickle.dumps
    - jupyter_server._tz.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.kernels.kernelmanager.MappingKernelManager._finish_kernel_start.<lambda1>
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.Dict.pop
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - 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: 300
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.ports_changed
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._get_changed_ports
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - <builtin>.isinstance
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    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: 320
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._get_changed_ports
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - <builtin>.isinstance
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    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: 336
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_buffering
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - traitlets.Any.pop
    - channels.values
    - stream.close
    - channels.items
    - <builtin>.len
    - functools.partial
    - stream.on_recv
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._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: channels.values
    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: 541
    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: 400
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 5
    functionsReached:
    - traitlets.Any.pop
    - stream.close
    - <builtin>.len
    - stream.on_recv
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    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: 368
    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: 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: 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: 375
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.get_buffer
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - traitlets.Any.pop
    - stream.close
    - <builtin>.len
    - stream.on_recv
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._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.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 0x7f34fea6fdf0>
    - <ast.Constant object at 0x7f34fea6fa60>
    argNames:
    - self
    - kernel_id
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 428
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_shutdown_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - traitlets.config.LoggingConfigurable.ready.exception
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - kernel._pending_restart_cleanup
    - <builtin>.getattr
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - <builtin>.len
    - task.cancel
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - traitlets.Dict.pop
    - typing.cast
    - jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    - notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    - jupyter_core.utils.ensure_async
    - prometheus_client.Gauge.labels
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - stream.on_recv
    - traitlets.Any.pop
    - stream.close
    - asyncio.ensure_future
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    - kernel._activity_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: 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: 634
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 4
    functionsReached:
    - <builtin>.getattr
    - kernel._activity_stream.close
    - kernel._pending_restart_cleanup
    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 0x7f34fea6fee0>
    argNames:
    - self
    - kernel_id
    - now
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 449
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - math.isinf
    - obj.isoformat
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity
    - <builtin>.type
    - warnings.warn
    - obj.items
    - <builtin>.repr
    - jupyter_client.multikernelmanager.MultiKernelManager._async_restart_kernel
    - <builtin>.str
    - traitlets.config.LoggingConfigurable.add_restart_callback
    - traitlets.config.LoggingConfigurable.connect_shell
    - jupyter_client.session.Session._new_auth
    - traitlets.Any
    - tornado.concurrent.Future
    - <builtin>.list
    - kernel._activity_stream.on_recv
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._get_changed_ports
    - pickle.loads
    - json.dumps
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - channel.on_recv
    - jupyter_client.session.json_unpacker
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - math.isnan
    - json.loads
    - kernel._pending_restart_cleanup
    - <builtin>.getattr
    - <builtin>.int
    - <builtin>.float
    - binascii.b2a_base64
    - <builtin>.len
    - traitlets.log.get_logger
    - traitlets.config.LoggingConfigurable.session.send
    - jupyter_client.session.Session._check_packers
    - jupyter_client.jsonutil.json_clean
    - traitlets.config.LoggingConfigurable.ready.done
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - <builtin>.map
    - os.getpid
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - jupyter_core.utils.ensure_async
    - jupyter_client.session.json_packer
    - kernel.connect_iopub
    - tornado.ioloop.IOLoop.current
    - hmac.HMAC
    - jupyter_client.session.pickle_packer
    - obj.strftime
    - binascii.b2a_base64.decode
    - loop.time
    - traitlets.config.LoggingConfigurable.restart_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - jupyter_client.session.utcnow
    - traitlets.log.get_logger.warning
    - datetime.datetime.now
    - <builtin>.hasattr
    - jupyter_client.session.Session.__init__
    - s.decode
    - <builtin>.isinstance
    - <builtin>.super
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.set
    - pickle.dumps
    - loop.add_timeout
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    - kernel._activity_stream.close
    - jupyter_server._tz.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.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: 458
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 3
    functionsReached:
    - channel.close
    - channel.closed
    - 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: 466
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_reply
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - channel.closed
    - future.set_result
    - traitlets.config.LoggingConfigurable.remove_restart_callback
    - future.done
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish
    - channel.close
    - 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: 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: 472
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_timeout
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - channel.closed
    - traitlets.config.LoggingConfigurable.remove_restart_callback
    - <builtin>.TimeoutError
    - future.done
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish
    - channel.close
    - loop.remove_timeout
    - future.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: <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: 478
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_restart_failed
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - channel.closed
    - traitlets.config.LoggingConfigurable.remove_restart_callback
    - future.done
    - <builtin>.RuntimeError
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish
    - channel.close
    - loop.remove_timeout
    - future.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: <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: 498
    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: 503
    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: 508
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.kernel_model
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - dt.isoformat
    - traitlets.Dict.get
    - jupyter_server._tz.isoformat
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    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: 527
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.list_kernels
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - pathlib.Path
    - jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids
    - km.ready.set_result
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - <builtin>.str
    - traitlets.Any
    - <builtin>.list
    - jupyter_server._tz.isoformat
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - uuid.uuid4
    - pathlib.Path.is_dir
    - <builtin>.getattr
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.keys
    - v.index
    - traitlets.utils.importstring.import_item
    - dt.isoformat
    - p.is_file
    - pathlib.Path.iterdir
    - traitlets.Dict.get
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.values
    - zmq.Context
    - jupyter_client.session.utcnow
    - datetime.datetime.now
    - connection_file.read_text
    - km.load_connection_info
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.kernel_model
    - traitlets.Dict.keys
    - kwargs.setdefault
    - json.loads
    - kernels.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: 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: 2
    argDefaultValues: []
    argNames:
    - self
    - message_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 579
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.track_message_type
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg_list
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 599
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity.record_activity
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - msg.get
    - h.update
    - warnings.warn
    - msg_list.index
    - jupyter_client.adapter.adapt
    - traitlets.Any
    - <builtin>.enumerate
    - pickle.loads
    - jupyter_client.session.Session._check_packers.<lambda2>
    - <builtin>.memoryview
    - dateutil.tz.tzlocal
    - <builtin>.max
    - jupyter_client.session.json_unpacker
    - h.hexdigest
    - jupyter_client.session.Session._cull_digest_history
    - pprint.pprint
    - json.loads
    - traitlets.Set.add
    - <builtin>.int
    - <builtin>.len
    - jupyter_client.jsonutil._ensure_tzinfo
    - jupyter_client.session.Session.sign
    - <builtin>.bytes
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session.deserialize
    - jupyter_client.session.Session.feed_identities
    - typing.cast
    - parent_header.get
    - traitlets.Set.difference_update
    - adapters.get
    - ISO8601_PAT.match
    - dateutil.parser.isoparse.replace
    - traitlets.Instance.copy
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.track_message_type
    - hmac.compare_digest
    - <builtin>.sorted
    - jupyter_client.session.utcnow
    - dateutil.parser.isoparse
    - <builtin>.tuple
    - datetime.datetime.now
    - dateutil.parser.isoparse.items
    - jupyter_client.jsonutil.extract_dates
    - s.decode
    - random.sample
    - <builtin>.isinstance
    - <builtin>.set
    - jupyter_client.session.Session._add_digest
    - jupyter_client.jsonutil.parse_date
    - jupyter_server._tz.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: parent_header.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: 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: 676
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernels
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - traitlets.config.LoggingConfigurable.ready.exception
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - dt_idle.total_seconds
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - kernel._pending_restart_cleanup
    - <builtin>.getattr
    - <builtin>.int
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - <builtin>.len
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    - task.cancel
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - traitlets.Dict.pop
    - typing.cast
    - jupyter_core.utils.ensure_async
    - jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    - notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    - prometheus_client.Gauge.labels
    - traitlets.Dict.get
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_shutdown_kernel
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - kernel_spec_metadata.get
    - traitlets.Any.pop
    - datetime.datetime.now
    - <builtin>.hasattr
    - stream.close
    - asyncio.ensure_future
    - datetime.timedelta
    - stream.on_recv
    - kernel._activity_stream.close
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernel_if_idle
    - jupyter_server._tz.utcnow
    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: 694
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernel_if_idle
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 1
    functionsReached:
    - traitlets.config.LoggingConfigurable.ready.exception
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - dt_idle.total_seconds
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - kernel._pending_restart_cleanup
    - <builtin>.getattr
    - <builtin>.int
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - <builtin>.len
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    - task.cancel
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - traitlets.Dict.pop
    - typing.cast
    - jupyter_core.utils.ensure_async
    - jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    - notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    - prometheus_client.Gauge.labels
    - traitlets.Dict.get
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_shutdown_kernel
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - kernel_spec_metadata.get
    - traitlets.Any.pop
    - datetime.datetime.now
    - <builtin>.hasattr
    - stream.close
    - asyncio.ensure_future
    - datetime.timedelta
    - stream.on_recv
    - kernel._activity_stream.close
    - jupyter_server._tz.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: kernel_spec_metadata.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: 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: 747
    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: 751
    functionName: jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager._validate_kernel_manager_class
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.__import__
    - warnings.warn
    - <builtin>.getattr
    - traitlets.Any.rsplit
    - jupyter_server.utils.import_item
    - <builtin>.issubclass
    - <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: 2
    functionLinenumber: 765
    functionName: jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager.__init__
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_client.multikernelmanager.MultiKernelManager.__init__
    - jupyter_server._tz.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 796
    functionName: jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method.wrapped_method
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - success_msg.format
    - method.__name__.replace
    - <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: method.__name__.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: success_msg.format
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - typing.override
    - traitlets.Instance
    - overrides.overrides
    - functools.wraps
    - traitlets.Unicode
    - traitlets.List
    - jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event
    - jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method
    - traitlets.default
    - traitlets.List.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: 860
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.core_event_schema_paths
    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: 0
    functionLinenumber: -1
    functionName: traitlets.List.tag
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 876
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager._default_event_logger
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_events.EventLogger
    - <builtin>.hasattr
    - jupyter_events.EventLogger.register_event_schema
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - schema_id
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 898
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.emit
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.emit
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.emit
    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: typing.override
    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: overrides.overrides
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 906
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.start_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: 913
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.shutdown_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: 920
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.restart_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: 927
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.interrupt_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 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: 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_control
    - jupyter_client.connect.ConnectionFileMixin.connect_stdin
    - <builtin>.getattr
    - jupyter_client.connect.ConnectionFileMixin.connect_iopub
    - jupyter_client.connect.ConnectionFileMixin.connect_shell
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.setsockopt
    - jupyter_client.connect.ConnectionFileMixin.connect_hb
    - sock.connect
    - zmq.eventloop.zmqstream.ZMQStream
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - jupyter_client.ioloop.manager.as_zmqstream
    - traitlets.Instance
    - 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: 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:
    - jupyter_client.ioloop.manager.as_zmqstream
    - traitlets.Instance
    - 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: 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: 22
    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: 34
    functionName: jupyter_client.ioloop.restarter.IOLoopKernelRestarter.start
    functionSourceFile: jupyter_client.ioloop.restarter
    functionUses: 0
    functionsReached:
    - tornado.ioloop.PeriodicCallback.start
    - tornado.ioloop.PeriodicCallback
    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: 45
    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: 55
    functionName: jupyter_client.ioloop.restarter.AsyncIOLoopKernelRestarter.poll
    functionSourceFile: jupyter_client.ioloop.restarter
    functionUses: 0
    functionsReached:
    - traitlets.Instance.is_alive
    - jupyter_client.ioloop.restarter.IOLoopKernelRestarter.stop
    - time.time
    - traitlets.Instance.restart_kernel
    - traitlets.Instance.provisioner.get_stable_start_time
    - tornado.ioloop.PeriodicCallback.stop
    - jupyter_client.restarter.KernelRestarter._fire_callbacks
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 101
    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.Instance
    - traitlets.Bool
    - traitlets.Dict
    - traitlets.Integer
    - traitlets.default
    - traitlets.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: 58
    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: 63
    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: 66
    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: 71
    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 0x7f34fe763bb0>
    argNames:
    - self
    - f
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 76
    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 0x7f34fe763460>
    argNames:
    - self
    - f
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 87
    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: 114
    functionName: jupyter_client.restarter.KernelRestarter.poll
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    functionsReached:
    - traitlets.Instance.is_alive
    - time.time
    - traitlets.Instance.restart_kernel
    - traitlets.Instance.provisioner.get_stable_start_time
    - jupyter_client.restarter.KernelRestarter.stop
    - jupyter_client.restarter.KernelRestarter._fire_callbacks
    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.Info
    - 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: prometheus_client.Info
    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_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.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: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f34fea6f5b0>
    argNames:
    - uri
    - extra_param_keys
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 23
    functionName: jupyter_server.log._scrub_uri
    functionSourceFile: jupyter_server.log
    functionUses: 1
    functionsReached:
    - urllib.parse.urlparse.query.split
    - _DEFAULT_SCRUB_PARAM_KEYS.union
    - urllib.parse.urlparse
    - <builtin>.enumerate
    - <builtin>.set
    - urllib.parse.urlunparse
    - urllib.parse.urlparse._replace
    - s.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _DEFAULT_SCRUB_PARAM_KEYS.union
    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.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: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 4
    IfCount: 7
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f34fea1d2e0>
    argNames:
    - handler
    - record_prometheus_metrics
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 47
    functionName: jupyter_server.log.log_request
    functionSourceFile: jupyter_server.log
    functionUses: 0
    functionsReached:
    - jupyter_server.prometheus.log_functions.prometheus_log_method
    - msg.format
    - <builtin>.type
    - handler.settings.get
    - tornado.log.access_log.warning
    - _DEFAULT_SCRUB_PARAM_KEYS.union
    - urllib.parse.urlparse
    - <builtin>.enumerate
    - json.dumps
    - notebook.prometheus.metrics.HTTP_REQUEST_DURATION_SECONDS.labels
    - handler.get_status
    - urllib.parse.urlunparse
    - urllib.parse.urlparse.query.split
    - tornado.log.access_log.info
    - prometheus_client.Histogram.labels
    - tornado.log.access_log.error
    - handler.request.request_time
    - urllib.parse.urlparse._replace
    - tornado.log.access_log.debug
    - <builtin>.isinstance
    - <builtin>.set
    - jupyter_server.log._scrub_uri
    - request.headers.get
    - s.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.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: 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: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - handler
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 6
    functionName: jupyter_server.prometheus.log_functions.prometheus_log_method
    functionSourceFile: jupyter_server.prometheus.log_functions
    functionUses: 1
    functionsReached:
    - <builtin>.type
    - handler.request.request_time
    - prometheus_client.Histogram.labels
    - notebook.prometheus.metrics.HTTP_REQUEST_DURATION_SECONDS.labels
    - handler.get_status
    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: 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: 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: 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: 1
    functionLinenumber: -1
    functionName: jupyter_server.i18n
    functionSourceFile: jupyter_server.i18n
    functionUses: 0
    functionsReached:
    - re.compile
    - os.path.dirname
    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: 34
    functionName: jupyter_server.i18n.parse_accept_lang_header
    functionSourceFile: jupyter_server.i18n
    functionUses: 2
    functionsReached:
    - m.group
    - lang.replace
    - res.extend
    - part.strip
    - accept_lang.split
    - <builtin>.float
    - collections.defaultdict
    - collections.defaultdict.items
    - _accept_lang_re.match
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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 0x7f34ff3fadc0>
    argNames:
    - language
    - domain
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 59
    functionName: jupyter_server.i18n.load
    functionSourceFile: jupyter_server.i18n
    functionUses: 3
    functionsReached:
    - json.load
    - os.path.join
    - <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 0x7f34fe9bfeb0>
    argNames:
    - language
    - domain
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 73
    functionName: jupyter_server.i18n.cached_load
    functionSourceFile: jupyter_server.i18n
    functionUses: 2
    functionsReached:
    - json.load
    - os.path.join
    - jupyter_server.i18n.load
    - <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: 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: 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: 6
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.consoleapp
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 0
    functionsReached:
    - flags.update
    - traitlets.config.application.boolean_flag
    - aliases.update
    - app_flags.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.Unicode
    - traitlets.CBool
    - 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: 135
    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 0x7f34ff67c040>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 152
    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: 159
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.init_connection_file
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 2
    functionsReached:
    - os.path.isabs
    - jupyter_client.utils._expand_path
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - jupyter_client.utils._filefind
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - os.path.expanduser
    - os.path.isfile
    - os.path.expandvars
    - json.load
    - jupyter_client.localinterfaces.localhost
    - os.getcwd
    - os.path.abspath
    - os.path.splitext
    - traitlets.config.LoggingConfigurable.log.error
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - find_connection_file.strip
    - info.get
    - os.path.basename
    - key.encode
    - s.replace
    - <builtin>.open
    - jupyter_client.connect.ConnectionFileMixin.load_connection_file
    - traitlets.config.LoggingConfigurable.log.critical
    - traitlets.config.LoggingConfigurable.exit
    - <builtin>.setattr
    - os.path.join
    - find_connection_file
    - <builtin>.isinstance
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 217
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.init_ssh
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 2
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - tunnel_to_kernel
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - os.path.splitext
    - jupyter_client.localinterfaces.localhost
    - json.load
    - traitlets.config.LoggingConfigurable.log.error
    - sys.exit
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - info.get
    - os.path.basename
    - key.encode
    - traitlets.config.LoggingConfigurable.log.info
    - <builtin>.open
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.connect.ConnectionFileMixin.load_connection_file
    - os.path.exists
    - traitlets.config.LoggingConfigurable.exit
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - <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: 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: 271
    functionName: jupyter_client.consoleapp.JupyterConsoleApp._new_connection_file
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - uuid.uuid4
    - os.path.join
    - os.path.exists
    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: 285
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_manager
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 2
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.critical
    - typing.cast
    - traitlets.config.LoggingConfigurable.exit
    - signal.signal
    - atexit.register
    - 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: 1
    functionLinenumber: 335
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_client
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 2
    functionsReached:
    - jupyter_client.client.KernelClient.start_channels
    - traitlets.config.LoggingConfigurable.__init__
    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 0x7f34ffd15ee0>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 355
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.initialize
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 1
    functionsReached:
    - os.path.isabs
    - jupyter_client.consoleapp.JupyterConsoleApp.init_connection_file
    - jupyter_client.utils._expand_path
    - signal.signal
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - jupyter_client.utils._filefind
    - tunnel_to_kernel
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - os.path.expanduser
    - os.path.isfile
    - os.path.abspath
    - os.path.expandvars
    - jupyter_client.localinterfaces.localhost
    - os.getcwd
    - os.path.splitext
    - json.load
    - traitlets.config.LoggingConfigurable.__init__
    - traitlets.config.LoggingConfigurable.log.error
    - sys.exit
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - find_connection_file.strip
    - info.get
    - os.path.basename
    - key.encode
    - traitlets.config.LoggingConfigurable.log.info
    - typing.cast
    - s.replace
    - jupyter_client.client.KernelClient.start_channels
    - atexit.register
    - <builtin>.open
    - jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_manager
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.connect.ConnectionFileMixin.load_connection_file
    - traitlets.Type
    - os.path.exists
    - traitlets.config.LoggingConfigurable.log.critical
    - traitlets.config.LoggingConfigurable.exit
    - jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_client
    - os.path.join
    - <builtin>.setattr
    - find_connection_file
    - <builtin>.isinstance
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - jupyter_client.consoleapp.JupyterConsoleApp.init_ssh
    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: 371
    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: 4
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.runapp
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - frontend_flags_dict.keys
    - jupyter_core.application.JupyterApp.launch_instance
    - <builtin>.dict
    - frontend_aliases_dict.keys
    - flags.update
    - aliases.update
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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.config.catch_config_error
    - traitlets.Any
    - traitlets.Float
    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 0x7f34febbe1f0>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    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 0x7f34feb11f40>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 70
    functionName: jupyter_client.runapp.RunApp.initialize
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - os.path.isabs
    - jupyter_client.consoleapp.JupyterConsoleApp.init_connection_file
    - jupyter_client.utils._expand_path
    - signal.signal
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - jupyter_client.utils._filefind
    - tunnel_to_kernel
    - jupyter_client.runapp.RunApp.init_kernel_info
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - os.path.expanduser
    - jupyter_client.asynchronous.client.wrapped
    - os.path.isfile
    - os.path.expandvars
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_client.localinterfaces.localhost
    - os.getcwd
    - os.path.splitext
    - json.load
    - os.path.abspath
    - traitlets.config.LoggingConfigurable.log.error
    - sys.exit
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - find_connection_file.strip
    - info.get
    - os.path.basename
    - key.encode
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_client.blocking.client.wrapped
    - typing.cast
    - s.replace
    - jupyter_client.client.KernelClient.start_channels
    - atexit.register
    - <builtin>.open
    - jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_manager
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.connect.ConnectionFileMixin.load_connection_file
    - traitlets.Type
    - os.path.exists
    - traitlets.config.LoggingConfigurable.log.critical
    - traitlets.config.LoggingConfigurable.exit
    - time.time
    - jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_client
    - jupyter_core.utils.run_sync
    - jupyter_client.consoleapp.JupyterConsoleApp.initialize
    - os.path.join
    - jupyter_core.application.JupyterApp.log.debug
    - find_connection_file
    - <builtin>.isinstance
    - <builtin>.super
    - jupyter_client.consoleapp.JupyterConsoleApp.init_ssh
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    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: 85
    functionName: jupyter_client.runapp.RunApp.init_kernel_info
    functionSourceFile: jupyter_client.runapp
    functionUses: 1
    functionsReached:
    - time.time
    - jupyter_client.blocking.client.wrapped
    - jupyter_core.utils.run_sync
    - 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: 78
    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: 103
    functionName: jupyter_client.runapp.RunApp.start
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - sys.stdin.read
    - <builtin>.open
    - jupyter_core.utils.run_sync
    - jupyter_core.application.JupyterApp.log.debug
    - fp.read
    - <builtin>.super
    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
  - 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.tag
    - traitlets.Unicode
    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 0x7f34ffd5ea90>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 34
    functionName: jupyter_client.kernelapp.KernelApp.initialize
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - uuid.uuid4
    - jupyter_client.manager.KernelManager.__init__
    - warnings.warn
    - jupyter_core.application.JupyterApp.config.setdefault
    - os.path.join
    - <builtin>.super
    - 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: 47
    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: 52
    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: 58
    functionName: jupyter_client.kernelapp.KernelApp.shutdown
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_core.utils.run_sync
    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: 64
    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: 70
    functionName: jupyter_client.kernelapp.KernelApp._record_started
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - os.environ.get
    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: 80
    functionName: jupyter_client.kernelapp.KernelApp.start
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_client.kernelapp.KernelApp.log_connection_info
    - signal.signal
    - jupyter_core.utils.run_sync
    - os.path.basename
    - jupyter_client.kernelapp.KernelApp.setup_signals
    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: 36
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.__init__
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - f.result
    - concurrent.futures.Future
    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: 60
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.__init__.setup_stream
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - f.set_exception
    - f.set_result
    - zmq.eventloop.zmqstream.ZMQStream
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 77
    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: 81
    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: 85
    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: 89
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.close
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - f.result
    - concurrent.futures.Future
    - traitlets.log.get_logger
    - traitlets.log.get_logger.warning
    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: 95
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.close.close_stream
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - f.set_exception
    - f.set_result
    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: 121
    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: 132
    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: 139
    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: 153
    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: 163
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.process_events
    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:
    - <ast.Constant object at 0x7f34fea6f670>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 169
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.flush
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - <builtin>.max
    - f.result
    - <builtin>.range
    - concurrent.futures.Future
    - time.monotonic
    - functools.partial
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 195
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.flush.flush
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - jupyter_client.threaded.ThreadedZMQSocketChannel._flush
    - f.set_exception
    - f.set_result
    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: 214
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel._flush
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 227
    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: 234
    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: 240
    functionName: jupyter_client.threaded.IOLoopThread.start
    functionSourceFile: jupyter_client.threaded
    functionUses: 1
    functionsReached:
    - concurrent.futures.Future
    - threading.Thread.start
    - threading.Thread._start_future.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: threading.Thread._start_future.result
    functionSourceFile: threading
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 251
    functionName: jupyter_client.threaded.IOLoopThread.run
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - asyncio.new_event_loop
    - jupyter_client.threaded.IOLoopThread._async_run
    - jupyter_client.threaded.IOLoopThread.run.assign_ioloop
    - asyncio.sleep
    - loop.run_until_complete
    - asyncio.set_event_loop
    - threading.Thread._start_future.set_result
    - threading.Thread._start_future.set_exception
    - 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: 1
    functionLinenumber: 257
    functionName: jupyter_client.threaded.IOLoopThread.run.assign_ioloop
    functionSourceFile: jupyter_client.threaded
    functionUses: 1
    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: threading.Thread._start_future.set_exception
    functionSourceFile: threading
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_future.set_result
    functionSourceFile: threading
    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: 268
    functionName: jupyter_client.threaded.IOLoopThread._async_run
    functionSourceFile: jupyter_client.threaded
    functionUses: 1
    functionsReached:
    - asyncio.sleep
    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: 273
    functionName: jupyter_client.threaded.IOLoopThread.stop
    functionSourceFile: jupyter_client.threaded
    functionUses: 1
    functionsReached:
    - threading.Thread.join
    - jupyter_client.threaded.IOLoopThread.close
    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: 288
    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: 285
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 301
    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 0x7f34fe9ca760>
    - <ast.Constant object at 0x7f34fe9ca130>
    - <ast.Constant object at 0x7f34fe9cac70>
    - <ast.Constant object at 0x7f34fe9cacd0>
    - <ast.Constant object at 0x7f34fe9ca7c0>
    argNames:
    - self
    - shell
    - iopub
    - stdin
    - hb
    - control
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 308
    functionName: jupyter_client.threaded.ThreadedKernelClient.start_channels
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - jupyter_client.threaded.IOLoopThread.start
    - traitlets.Instance.start
    - threading.Thread.start
    - <builtin>.super
    - concurrent.futures.Future
    - jupyter_client.threaded.IOLoopThread.__init__
    - threading.Thread._start_future.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.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: 325
    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: 331
    functionName: jupyter_client.threaded.ThreadedKernelClient.stop_channels
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - traitlets.Instance.is_alive
    - traitlets.Instance.stop
    - jupyter_client.threaded.IOLoopThread.stop
    - threading.Thread.join
    - <builtin>.super
    - jupyter_client.threaded.IOLoopThread.close
    - 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: 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: 343
    functionName: jupyter_client.threaded.ThreadedKernelClient.is_alive
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - traitlets.Any.is_beating
    - jupyter_server.gateway.managers.ChannelQueue.is_alive
    - jupyter_server.gateway.managers.HBChannelQueue.is_beating
    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: 41
    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: 44
    functionName: jupyter_client.kernelspecapp.ListKernelSpecs.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.Instance.find_kernel_specs
    - json.dumps
    - <builtin>.len
    - traitlets.Instance.get_all_specs
    - <builtin>.print
    - kernelname.ljust
    - paths.items
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 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: 55
    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.Instance
    - aliases.update
    - traitlets.Bool
    - 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: 89
    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: 95
    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: 137
    functionName: jupyter_client.kernelspecapp.InstallKernelSpec.parse_command_line
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.print
    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: 147
    functionName: jupyter_client.kernelspecapp.InstallKernelSpec.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.Instance.install_kernel_spec
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.print
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.Instance
    - traitlets.Bool
    - traitlets.List
    - traitlets.Unicode
    - flags.update
    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: 183
    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: 191
    functionName: jupyter_client.kernelspecapp.RemoveKernelSpec.parse_command_line
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.sorted
    - <builtin>.set
    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: 200
    functionName: jupyter_client.kernelspecapp.RemoveKernelSpec.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.Instance.find_kernel_specs
    - traitlets.List.ljust
    - answer.lower
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.input
    - traitlets.Instance.remove_kernel_spec
    - <builtin>.print
    - <builtin>.len
    - <builtin>.set
    - path.ljust
    - spec_paths.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: 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: 237
    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: 257
    functionName: jupyter_client.kernelspecapp.InstallNativeKernelSpec.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - ipykernel.kernelspec.install
    - jupyter_core.application.JupyterApp.log.warning
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.print
    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: 288
    functionName: jupyter_client.kernelspecapp.ListProvisioners.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - name.ljust
    - <builtin>.len
    - kfp.get_provisioner_entries
    - traitlets.config.SingletonConfigurable.instance
    - <builtin>.print
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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:
    - InstallNativeKernelSpec.description.splitlines
    - traitlets.Dict
    - RemoveKernelSpec.description.splitlines
    - InstallKernelSpec.description.splitlines
    - ListKernelSpecs.description.splitlines
    - ListProvisioners.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: 328
    functionName: jupyter_client.kernelspecapp.KernelSpecApp.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.config.application.Application.subapp.start
    - traitlets.config.application.Application.exit
    - traitlets.config.application.Application.print_subcommands
    - traitlets.config.application.Application.print_description
    - <builtin>.list
    - <builtin>.print
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 23
    functionName: jupyter_server.pytest_plugin.jp_kernelspecs
    functionSourceFile: jupyter_server.pytest_plugin
    functionUses: 0
    functionsReached:
    - sample_kernel_dir.joinpath
    - sample_kernel_resources.write_text
    - jp_data_dir.joinpath
    - sample_kernel_file.write_text
    - sample_kernel_json.copy
    - json.dumps
    - sample_kernel_dir.mkdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 41
    functionName: jupyter_server.pytest_plugin.jp_contents_manager
    functionSourceFile: jupyter_server.pytest_plugin
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - traitlets.config.configurable.LoggingConfigurable.__init__
    - traitlets.config.Configurable.__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.configurable.LoggingConfigurable.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.Configurable.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - tmp_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 47
    functionName: jupyter_server.pytest_plugin.jp_large_contents_manager
    functionSourceFile: jupyter_server.pytest_plugin
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - traitlets.config.Configurable.__init__
    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: 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: 22
    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:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.StaticFileHandler.finish
    functionSourceFile: tornado
    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: 28
    functionName: jupyter_server.services.kernelspecs.handlers.kernelspec_model
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 3
    functionsReached:
    - jupyter_server.utils.url_path_join
    - os.path.join
    - glob.glob
    - os.path.exists
    - os.path.basename
    - s.strip
    - os.path.splitext
    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: 45
    functionName: jupyter_server.services.kernelspecs.handlers.is_kernelspec_model
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 3
    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:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kspecs.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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernelspecs.handlers.KernelSpecHandler
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 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.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:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    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: 21
    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: 25
    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:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.request.body.decode
    functionSourceFile: tornado
    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.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:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast.setdefault
    functionSourceFile: typing
    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: typing.cast.get
    functionSourceFile: typing
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.handlers.KernelHandler
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.handlers.KernelActionHandler
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 35
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.pre_get
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 2
    functionsReached:
    - 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: 2
    functionLinenumber: -1
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.ws_authenticated
    - typing.cast
    - functools.wraps
    - <builtin>.setattr
    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: 56
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.event_listener
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 0
    functionsReached:
    - json.dumps
    - tornado.web.RequestHandler.write_message
    - <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: 63
    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: 69
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - data
    - registry
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 74
    functionName: jupyter_server.services.events.handlers.validate_model
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 2
    functionsReached:
    - typing.cast.get
    - <builtin>.str
    - typing.cast
    - registry.get
    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: registry.get
    functionSourceFile: <builtin>
    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: 95
    functionName: jupyter_server.services.events.handlers.get_timestamp
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 2
    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:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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.contents.handlers
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - expect_defined
    - model
    - keys
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 27
    functionName: jupyter_server.services.contents.handlers._validate_keys
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f34fe9f2c70>
    - <ast.Constant object at 0x7f34fe9f2760>
    argNames:
    - model
    - expect_content
    - expect_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: jupyter_server.services.contents.handlers.validate_model
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 9
    functionsReached:
    - typing.cast.keys
    - jupyter_server.services.contents.handlers._validate_keys
    - required_keys.update
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: required_keys.update
    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: typing.cast.keys
    functionSourceFile: typing
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 92
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.location_url
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 10
    functionsReached:
    - jupyter_server.utils.url_path_join
    - jupyter_server.utils.url_escape
    - path.split
    - urllib.parse.quote
    - s.strip
    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 0x7f34fe99f550>
    argNames:
    - self
    - model
    - location
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 102
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 9
    functionsReached:
    - kwargs.pop
    - jupyter_server.utils.url_path_join
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - jupyter_server.utils.url_escape
    - path.split
    - s.strip
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - <builtin>.super
    - urllib.parse.quote
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - code
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 111
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._finish_error
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.set_status
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    linkageType: 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:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.get_query_argument
    functionSourceFile: tornado
    functionUses: 2
    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 0x7f34feeda430>
    argNames:
    - self
    - copy_from
    - copy_to
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 210
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._copy
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - jupyter_server.utils.url_escape
    - jupyter_server.services.contents.handlers.validate_model
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - json.dumps
    - required_keys.update
    - jupyter_server.base.handlers.APIHandler.finish
    - tornado.web.RequestHandler.get_argument
    - path.split
    - <builtin>.getattr
    - <builtin>.set
    - jupyter_server.utils.url_path_join
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_status
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.services.contents.handlers._validate_keys
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - datetime.datetime.now
    - typing.cast.keys
    - <builtin>.super
    - urllib.parse.quote
    - s.strip
    - jupyter_server._tz.utcnow
    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: 222
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._upload
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - jupyter_server.utils.url_escape
    - jupyter_server.services.contents.handlers.validate_model
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - json.dumps
    - required_keys.update
    - jupyter_server.base.handlers.APIHandler.finish
    - tornado.web.RequestHandler.get_argument
    - path.split
    - <builtin>.getattr
    - <builtin>.set
    - jupyter_server.utils.url_path_join
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_status
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.services.contents.handlers._validate_keys
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - datetime.datetime.now
    - typing.cast.keys
    - <builtin>.super
    - urllib.parse.quote
    - s.strip
    - jupyter_server._tz.utcnow
    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 0x7f34ff402550>
    - <ast.Constant object at 0x7f34ff402580>
    argNames:
    - self
    - path
    - type
    - ext
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 230
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._new_untitled
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 3
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - jupyter_server.utils.url_escape
    - jupyter_server.services.contents.handlers.validate_model
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - json.dumps
    - required_keys.update
    - jupyter_server.base.handlers.APIHandler.finish
    - tornado.web.RequestHandler.get_argument
    - path.split
    - <builtin>.getattr
    - <builtin>.set
    - jupyter_server.utils.url_path_join
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_status
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.services.contents.handlers._validate_keys
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - datetime.datetime.now
    - typing.cast.keys
    - <builtin>.super
    - urllib.parse.quote
    - s.strip
    - jupyter_server._tz.utcnow
    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: 240
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._save
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - jupyter_server.utils.url_escape
    - jupyter_server.services.contents.handlers.validate_model
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - json.dumps
    - required_keys.update
    - jupyter_server.base.handlers.APIHandler.finish
    - tornado.web.RequestHandler.get_argument
    - path.split
    - <builtin>.getattr
    - <builtin>.set
    - jupyter_server.utils.url_path_join
    - typing.cast.get
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.services.contents.handlers._validate_keys
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - datetime.datetime.now
    - typing.cast.keys
    - <builtin>.super
    - urllib.parse.quote
    - s.strip
    - jupyter_server._tz.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.CheckpointsHandler
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.contents.handlers.ModifyCheckpointsHandler
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jupyter_server.services.contents.handlers.NotebooksRedirectHandler
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.decorator.allow_unauthenticated
    - typing.cast
    - functools.wraps
    - <builtin>.setattr
    linkageType: 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.TrustNotebooksHandler
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    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 0x7f34ff26afd0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 419
    functionName: jupyter_server.services.contents.handlers.TrustNotebooksHandler.post
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.set_status
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.finish
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 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: 26
    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:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    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: 42
    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:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.application.last_activity
    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: 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: 77
    functionName: jupyter_server.services.api.handlers.IdentityHandler.get
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.all
    - tornado.web.RequestHandler.get_argument
    - allowed.append
    - jupyter_core.utils.ensure_async
    - <builtin>.isinstance
    - tornado.web.RequestHandler.write
    - permissions_to_check.items
    - json.loads
    - 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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 121
    functionName: jupyter_server.services.api.handlers.IdentityHandler.patch
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.identity.IdentityProvider.persist_user_model
    - typing.cast
    - jupyter_server.auth.identity.IdentityProvider.update_user_model
    - jupyter_server.auth.identity.IdentityProvider.update_user
    - jupyter_server.auth.identity.IdentityProvider.check_update
    - <builtin>.isinstance
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.request.body.strip
    - json.loads
    - dataclasses.asdict
    - jupyter_server.auth.identity.IdentityProvider.identity_model
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.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:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    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: 22
    functionName: jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.initialize
    functionSourceFile: jupyter_server.services.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - asyncio.Lock
    - <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: 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:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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.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:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernel.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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.sessions.handlers.SessionHandler
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    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: 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: 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: 17
    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.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: 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: 28
    functionName: jupyter_server.extension.application._preparse_for_subcommand
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - app.initialize_subcommand
    - <builtin>.len
    - jupyter_core.application.JupyterApp.__init__
    - re.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: 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: 45
    functionName: jupyter_server.extension.application._preparse_for_stopping_flags
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - jupyter_core.application.JupyterApp.__init__
    - app.print_help
    - app.print_version
    - app.exit
    - <builtin>.any
    - app.write_default_config
    - 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
    - traitlets.Dict.tag
    - 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: 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: 93
    functionName: jupyter_server.extension.application.ExtensionAppJinjaMixin._prepare_templates
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - traitlets.HasTraits.settings.update
    - jinja2.FileSystemLoader
    - <builtin>.len
    - jinja2.Environment
    - traitlets.HasTraits.initialize_templates
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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.Unicode.tag
    - traitlets.Dict.tag
    - traitlets.Bool
    - traitlets.List
    - traitlets.Dict
    - traitlets.Unicode
    - traitlets.default
    - traitlets.Any
    - traitlets.Bool.tag
    - traitlets.List.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: 163
    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: 168
    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: 181
    functionName: jupyter_server.extension.application.ExtensionApp.get_extension_package
    functionSourceFile: jupyter_server.extension.application
    functionUses: 2
    functionsReached:
    - importlib.util.find_spec
    - jupyter_core.application.JupyterApp.__module__.split
    - <builtin>.isinstance
    - jupyter_server.utils.is_namespace_package
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 190
    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: 200
    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: 217
    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: 233
    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: 237
    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: 248
    functionName: jupyter_server.extension.application.ExtensionApp._default_static_url_prefix
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.url_path_join
    - s.strip
    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: 277
    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: 283
    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: 286
    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: 289
    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: 292
    functionName: jupyter_server.extension.application.ExtensionApp._prepare_config
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - jupyter_core.application.JupyterApp.class_own_traits
    - <builtin>.getattr
    - traitlets.config.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.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: 300
    functionName: jupyter_server.extension.application.ExtensionApp._prepare_settings
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - webapp.settings.update
    - jupyter_server.extension.application.ExtensionApp.initialize_settings
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: webapp.settings.update
    functionSourceFile: <builtin>
    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: 321
    functionName: jupyter_server.extension.application.ExtensionApp._prepare_handlers
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - jupyter_server.extension.application.ExtensionApp.initialize_handlers
    - jupyter_server.utils.url_path_join
    - webapp.add_handlers
    - kwargs.update
    - <builtin>.issubclass
    - <builtin>.len
    - new_handlers.append
    - 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: webapp.add_handlers
    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: 1
    functionLinenumber: 364
    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: 370
    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: 382
    functionName: jupyter_server.extension.application.ExtensionApp._link_jupyter_server_extension
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.load_config_file
    - jupyter_core.application.JupyterApp.update_config
    - jupyter_core.application.JupyterApp.parse_command_line
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 416
    functionName: jupyter_server.extension.application.ExtensionApp.initialize
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.application.ExtensionApp.initialize_handlers
    - jupyter_server.utils.url_path_join
    - webapp.settings.update
    - webapp.add_handlers
    - <builtin>.getattr
    - jupyter_server.extension.application.ExtensionApp.initialize_templates
    - jupyter_server.extension.application.ExtensionApp._prepare_settings
    - jupyter_server.extension.application.ExtensionApp._prepare_config
    - kwargs.update
    - <builtin>.issubclass
    - <builtin>.len
    - traitlets.config.Config
    - new_handlers.append
    - jupyter_server.extension.application.ExtensionApp.initialize_settings
    - jupyter_core.application.JupyterApp.class_own_traits
    - jupyter_server.extension.application.ExtensionApp._prepare_handlers
    - s.strip
    - jupyter_server.extension.application.ExtensionApp._prepare_templates
    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: 439
    functionName: jupyter_server.extension.application.ExtensionApp.start
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - <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: 449
    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: 453
    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: 0
    functionLinenumber: 456
    functionName: jupyter_server.extension.application.ExtensionApp.stop
    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: 2
    argDefaultValues: []
    argNames:
    - cls
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 463
    functionName: jupyter_server.extension.application.ExtensionApp._load_jupyter_server_extension
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.__init__
    - extension.initialize
    - extension._link_jupyter_server_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: 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: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 478
    functionName: jupyter_server.extension.application.ExtensionApp._start_jupyter_server_extension
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    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: 491
    functionName: jupyter_server.extension.application.ExtensionApp.load_classic_server_extension
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - extension.handlers.extend
    - extension.update_config
    - jupyter_core.application.JupyterApp.__init__
    - extension.initialize
    - extension.load_config_file
    - extension.parse_command_line
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 574
    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 0x7f34ff703b20>
    - <ast.Constant object at 0x7f34ff703580>
    argNames:
    - cls
    - argv
    - load_other_extensions
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 582
    functionName: jupyter_server.extension.application.ExtensionApp.initialize_server
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - jupyter_server.extension.application.ExtensionApp.get_extension_package
    - importlib.util.find_spec
    - serverapp.initialize
    - serverapp.aliases.update
    - jpserver_extensions.update
    - <builtin>.isinstance
    - jupyter_server.utils.is_namespace_package
    - jupyter_core.application.JupyterApp.instance
    - jupyter_core.application.JupyterApp.__module__.split
    - jupyter_server.extension.application.ExtensionApp.make_serverapp
    linkageType: pythonLinkage
    raised: []
    returnType: N/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 0x7f34fe9ca700>
    argNames:
    - cls
    - argv
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 606
    functionName: jupyter_server.extension.application.ExtensionApp.launch_instance
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - serverapp.aliases.update
    - re.match
    - app.initialize_subcommand
    - app.exit
    - <builtin>.any
    - app.write_default_config
    - jupyter_core.application.JupyterApp.instance
    - jupyter_server.extension.application._preparse_for_subcommand
    - jupyter_server.utils.is_namespace_package
    - jupyter_server.extension.application._preparse_for_stopping_flags
    - app.print_help
    - <builtin>.len
    - serverapp.start
    - argv.index
    - subapp.start
    - jupyter_server.extension.application.ExtensionApp.get_extension_package
    - serverapp.log.info
    - jupyter_server.extension.application.ExtensionApp.initialize_server
    - jupyter_core.application.JupyterApp.__init__
    - jpserver_extensions.update
    - jupyter_core.application.JupyterApp.__module__.split
    - importlib.util.find_spec
    - serverapp.initialize
    - app.print_version
    - <builtin>.isinstance
    - jupyter_server.extension.application.ExtensionApp.make_serverapp
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 25
    functionName: jupyter_server.extension.handler.ExtensionHandlerJinjaMixin.get_template
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - typing.cast
    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: 48
    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: 1
    functionLinenumber: 56
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.extensionapp
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 60
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.serverapp
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 65
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.log
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - typing.cast
    - <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: 75
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.config
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 79
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.server_config
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 83
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.base_url
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - ns
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 86
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.render_template
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast.render
    - ns.update
    - typing.cast
    - <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: typing.cast.render
    functionSourceFile: typing
    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: 101
    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: 1
    functionLinenumber: 105
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.static_path
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    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 0x7f34ff18c220>
    argNames:
    - self
    - path
    - include_host
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.static_url
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - typing.cast
    linkageType: pythonLinkage
    raised:
    - Exception
    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: 30
    functionName: jupyter_server.nbconvert.handlers.find_resource_files
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - os.path.join
    - files.extend
    - os.walk
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 38
    functionName: jupyter_server.nbconvert.handlers.respond_zip
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 3
    functionsReached:
    - output_files.items
    - tornado.web.RequestHandler.set_header
    - resources.get
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - io.BytesIO
    - jupyter_server.utils.url_escape
    - path.split
    - zipf.writestr
    - output.encode
    - tornado.web.RequestHandler.finish
    - zipf.close
    - buffer.getvalue
    - os.path.basename
    - zipfile.ZipFile
    - urllib.parse.quote
    - os.path.splitext
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: io.BytesIO
    functionSourceFile: io
    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: zipfile.ZipFile
    functionSourceFile: zipfile
    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: output.encode
    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: zipf.writestr
    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: output_files.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: zipf.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: buffer.getvalue
    functionSourceFile: <builtin>
    functionUses: 4
    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: 68
    functionName: jupyter_server.nbconvert.handlers.get_exporter
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 3
    functionsReached:
    - nbconvert.exporters.base.get_exporter
    - tornado.log.app_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: nbconvert.exporters.base.get_exporter
    functionSourceFile: nbconvert
    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.log.app_log.exception
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.nbconvert.handlers.NbconvertFileHandler
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 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:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 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: 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: 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:
    - subparsers.add_parser
    - argparse.ArgumentParser
    - jupyter_server.auth.__main__.main
    - parser_password.set_defaults
    - parser_password.add_argument
    - parser.add_subparsers
    - 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: 15
    functionName: jupyter_server.auth.__main__.set_password
    functionSourceFile: jupyter_server.auth.__main__
    functionUses: 0
    functionsReached:
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - h.update
    - warnings.warn
    - target.pop
    - <builtin>.str
    - traitlets.log.get_logger.info
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - <builtin>.list
    - new.items
    - json.dumps
    - data.items
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.auth.security.passwd
    - jupyter_server.config_manager.remove_defaults
    - h.hexdigest
    - json.load
    - os.path.isfile
    - jupyter_server.config_manager.recursive_update
    - ph.hash
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - traitlets.config.LoggingConfigurable.log.debug
    - glob.glob
    - <builtin>.len
    - traitlets.log.get_logger
    - <builtin>.range
    - getpass.getpass.encode
    - hashlib.new
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - os.path.getsize
    - <builtin>.open
    - traitlets.config.LoggingConfigurable.log.warning
    - copy.deepcopy
    - <builtin>.sorted
    - os.makedirs
    - argon2.PasswordHasher
    - random.getrandbits
    - os.path.join
    - salt.encode
    - <builtin>.isinstance
    - jupyter_core.paths.jupyter_config_dir
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - f.write
    - getpass.getpass
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 44
    functionName: jupyter_server.auth.__main__.main
    functionSourceFile: jupyter_server.auth.__main__
    functionUses: 1
    functionsReached:
    - argparse.ArgumentParser
    - subparsers.add_parser
    - parser_password.set_defaults
    - parser_password.add_argument
    - parser.add_subparsers
    - 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.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:
    - tornado.web.authenticated
    - typing.cast
    - <builtin>.callable
    - functools.wraps
    - jupyter_server.auth.decorator.authorized
    - jupyter_server.auth.decorator.authorized.wrapper
    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: 2
    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:
    - warnings.warn
    - <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 0x7f34fed56a30>
    argNames:
    - self
    - origin
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 47
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.check_origin
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - origin.lower
    - <builtin>.bool
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - re.match
    - jupyter_server.base.handlers.JupyterHandler.check_origin
    - urllib.parse.urlparse
    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: 51
    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: 54
    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: 59
    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: 76
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.initialize
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - obj.isoformat
    - jupyter_server.gateway.handlers.GatewayWebSocketClient.__init__
    - <builtin>.type
    - warnings.warn
    - obj.items
    - <builtin>.repr
    - <builtin>.str
    - jupyter_client.session.Session._new_auth
    - traitlets.Any
    - tornado.concurrent.Future
    - <builtin>.list
    - pickle.loads
    - json.dumps
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.session.json_unpacker
    - math.isnan
    - <builtin>.int
    - <builtin>.float
    - binascii.b2a_base64
    - <builtin>.len
    - traitlets.log.get_logger
    - jupyter_client.session.Session._check_packers
    - jupyter_client.jsonutil.json_clean
    - traitlets.utils.importstring.import_item
    - <builtin>.map
    - os.getpid
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - jupyter_client.session.json_packer
    - traitlets.config.SingletonConfigurable.instance
    - hmac.HMAC
    - jupyter_client.session.pickle_packer
    - obj.strftime
    - binascii.b2a_base64.decode
    - jupyter_client.session.utcnow
    - traitlets.log.get_logger.warning
    - datetime.datetime.now
    - <builtin>.hasattr
    - pickle.dumps
    - jupyter_client.session.Session.__init__
    - s.decode
    - <builtin>.isinstance
    - <builtin>.super
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.set
    - json.loads
    - math.isinf
    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: 159
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient.__init__
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - tornado.concurrent.Future
    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: 82
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.get
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.gateway.handlers.WebSocketChannelsHandler.authenticate
    - <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: 89
    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: 97
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.open
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.handlers.WebSocketChannelsHandler.get_compression_options
    - jupyter_server.gateway.handlers.GatewayWebSocketClient.on_open
    - loop.spawn_callback
    - tornado.ioloop.PeriodicCallback.start
    - tornado.ioloop.IOLoop.current
    - tornado.ioloop.PeriodicCallback
    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: 261
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient.on_open
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - loop.spawn_callback
    - 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
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 109
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.on_message
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message
    - loop.add_future
    - jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message
    - tornado.ioloop.IOLoop.current
    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: 266
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message
    - loop.add_future
    - tornado.ioloop.IOLoop.current
    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 0x7f34ff18c190>
    argNames:
    - self
    - message
    - binary
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 114
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.write_message
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - tornado.escape.json_decode
    - summary.append
    - <builtin>.isinstance
    - <builtin>.super
    - jupyter_server.gateway.handlers.WebSocketChannelsHandler._get_message_summary
    - tornado.escape.utf8
    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: 134
    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: 126
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.on_close
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - typing.cast.cancel
    - jupyter_server.gateway.handlers.GatewayWebSocketClient.on_close
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._disconnect
    - typing.cast.done
    - <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: 2
    functionLinenumber: 282
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient.on_close
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - typing.cast.cancel
    - typing.cast.done
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._disconnect
    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: 168
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._connect
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - tornado.escape.url_escape
    - jupyter_server.utils.url_path_join
    - typing.cast
    - tornado.websocket.websocket_connect
    - client.load_connection_args
    - typing.cast.add_done_callback
    - tornado.httpclient.HTTPRequest
    - traitlets.config.SingletonConfigurable.instance
    - tornado.ioloop.IOLoop.current
    - s.strip
    - loop.add_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: client.load_connection_args
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._connect.<lambda1>
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - loop.spawn_callback
    - <builtin>.min
    - random.randint
    - asyncio.sleep
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._read_messages
    - traitlets.config.SingletonConfigurable.instance
    - 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: 218
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._read_messages
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - loop.spawn_callback
    - <builtin>.min
    - random.randint
    - asyncio.sleep
    - tornado.ioloop.IOLoop.current
    - traitlets.config.SingletonConfigurable.instance
    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: 193
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._connection_done
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - fut.exception
    - traitlets.config.SingletonConfigurable.instance
    - fut.result
    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: 207
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._disconnect
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 2
    functionsReached:
    - typing.cast.cancel
    - typing.cast.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: 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: 274
    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 0x7f34fe9637c0>
    argNames:
    - self
    - kernel_name
    - path
    - include_body
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 291
    functionName: jupyter_server.gateway.handlers.GatewayResourceHandler.get
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - datetime.datetime.now
    - mimetypes.guess_type
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.finish
    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
  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
  - 65
  - 66
  - 67
  - 36
  - 68
  - 69
  - 75
  - 54
  - 55
  - 56
  - 57
  - 58
  - 30
  - 63
  jupyter_client.asynchronous.client.AsyncKernelClient._context_default:
  - 40
  jupyter_client.asynchronous.client.wrapped:
  - 16
  jupyter_client.asynchronous.client.wrapped._:
  - 19
  - 20
  - 21
  - 22
  - 24
  jupyter_client.blocking.client:
  - 1
  jupyter_client.blocking.client.BlockingKernelClient:
  - 33
  - 43
  - 44
  - 45
  - 46
  - 48
  - 51
  - 52
  - 53
  - 54
  - 55
  - 57
  - 60
  - 61
  - 62
  - 63
  - 64
  - 65
  - 67
  - 68
  - 71
  jupyter_client.blocking.client.wrapped:
  - 19
  jupyter_client.blocking.client.wrapped._:
  - 22
  - 23
  - 24
  - 25
  - 27
  jupyter_client.channels:
  - 1
  - 194
  jupyter_client.channels.AsyncZMQSocketChannel:
  - 275
  jupyter_client.channels.AsyncZMQSocketChannel.__init__:
  - 280
  - 291
  - 294
  jupyter_client.channels.AsyncZMQSocketChannel._recv:
  - 298
  - 299
  - 300
  jupyter_client.channels.AsyncZMQSocketChannel.get_msg:
  - 305
  - 307
  - 308
  - 309
  - 310
  jupyter_client.channels.AsyncZMQSocketChannel.get_msgs:
  - 320
  - 316
  jupyter_client.channels.AsyncZMQSocketChannel.msg_ready:
  - 328
  - 326
  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:
  - 250
  - 251
  - 253
  jupyter_client.channels.ZMQSocketChannel.get_msg:
  - 224
  - 226
  - 227
  - 228
  - 229
  jupyter_client.channels.ZMQSocketChannel.get_msgs:
  - 235
  - 239
  jupyter_client.channels.ZMQSocketChannel.is_alive:
  - 261
  jupyter_client.channels.ZMQSocketChannel.msg_ready:
  - 245
  - 247
  jupyter_client.channels.ZMQSocketChannel.send:
  - 265
  - 267
  jupyter_client.channels.ZMQSocketChannel.start:
  - 270
  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
  - 827
  jupyter_client.client.KernelClient:
  - 100
  - 101
  - 102
  - 103
  - 104
  - 74
  - 107
  - 108
  - 109
  - 110
  - 111
  - 91
  - 93
  jupyter_client.client.KernelClient.__del__:
  - 128
  - 129
  - 131
  - 135
  - 117
  - 118
  - 123
  - 124
  - 125
  - 127
  jupyter_client.client.KernelClient._async_execute_interactive:
  - 514
  - 515
  - 516
  - 517
  - 523
  - 528
  - 529
  - 533
  - 535
  - 536
  - 538
  - 544
  - 545
  - 546
  - 547
  - 548
  - 551
  - 552
  - 553
  - 554
  - 555
  - 557
  - 560
  - 562
  - 436
  - 565
  - 568
  - 575
  - 576
  - 577
  - 490
  - 493
  - 495
  - 498
  - 499
  - 508
  - 511
  jupyter_client.client.KernelClient._async_get_control_msg:
  - 154
  - 155
  jupyter_client.client.KernelClient._async_get_iopub_msg:
  - 146
  - 147
  jupyter_client.client.KernelClient._async_get_shell_msg:
  - 142
  - 143
  jupyter_client.client.KernelClient._async_get_stdin_msg:
  - 150
  - 151
  jupyter_client.client.KernelClient._async_is_alive:
  - 416
  - 419
  - 409
  - 412
  - 415
  jupyter_client.client.KernelClient._async_recv_reply:
  - 224
  - 226
  - 227
  - 229
  - 233
  - 219
  - 220
  - 221
  - 223
  jupyter_client.client.KernelClient._async_wait_for_ready:
  - 194
  - 166
  - 167
  - 168
  - 198
  - 201
  - 172
  - 206
  - 176
  - 177
  - 212
  - 181
  - 185
  - 187
  - 158
  - 191
  jupyter_client.client.KernelClient._context_default:
  - 97
  jupyter_client.client.KernelClient._handle_kernel_info_reply:
  - 776
  - 777
  - 771
  jupyter_client.client.KernelClient._output_hook_default:
  - 258
  - 261
  - 262
  - 263
  - 264
  - 265
  - 266
  - 267
  jupyter_client.client.KernelClient._output_hook_kernel:
  - 281
  - 282
  - 276
  - 284
  jupyter_client.client.KernelClient._stdin_hook_default:
  - 239
  - 241
  - 244
  - 249
  - 254
  - 255
  jupyter_client.client.KernelClient.channels_running:
  - 338
  - 340
  - 341
  - 342
  - 343
  - 344
  jupyter_client.client.KernelClient.comm_info:
  - 767
  - 766
  - 759
  jupyter_client.client.KernelClient.complete:
  - 648
  - 663
  - 664
  - 666
  - 667
  jupyter_client.client.KernelClient.control_channel:
  - 398
  - 399
  - 400
  - 401
  - 402
  - 403
  jupyter_client.client.KernelClient.execute:
  - 643
  - 644
  - 589
  - 623
  - 625
  - 629
  - 631
  jupyter_client.client.KernelClient.hb_channel:
  - 387
  - 388
  - 389
  - 390
  - 391
  jupyter_client.client.KernelClient.history:
  - 739
  - 708
  - 741
  - 740
  - 742
  - 743
  - 744
  jupyter_client.client.KernelClient.input:
  - 792
  - 802
  - 803
  jupyter_client.client.KernelClient.inspect:
  - 690
  - 691
  - 697
  - 698
  - 671
  jupyter_client.client.KernelClient.iopub_channel:
  - 363
  - 364
  - 365
  - 366
  - 367
  - 368
  jupyter_client.client.KernelClient.is_complete:
  - 787
  - 788
  - 781
  jupyter_client.client.KernelClient.kernel_info:
  - 754
  - 755
  - 748
  jupyter_client.client.KernelClient.shell_channel:
  - 352
  - 353
  - 354
  - 355
  - 356
  - 351
  jupyter_client.client.KernelClient.shutdown:
  - 822
  - 806
  - 823
  jupyter_client.client.KernelClient.start_channels:
  - 298
  - 306
  - 307
  - 308
  - 309
  - 310
  - 311
  - 315
  - 316
  - 317
  - 318
  jupyter_client.client.KernelClient.stdin_channel:
  - 375
  - 376
  - 377
  - 378
  - 379
  - 380
  jupyter_client.client.KernelClient.stop_channels:
  - 321
  - 325
  - 326
  - 327
  - 328
  - 329
  - 330
  - 331
  - 332
  - 333
  - 334
  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:
  - 16
  - 1
  jupyter_client.clientabc.KernelClientABC:
  - 25
  jupyter_client.clientabc.KernelClientABC.channels_running:
  - 79
  jupyter_client.clientabc.KernelClientABC.start_channels:
  - 69
  jupyter_client.clientabc.KernelClientABC.stop_channels:
  - 74
  jupyter_client.connect:
  - 1
  - 29
  jupyter_client.connect.ConnectionFileMixin:
  - 320
  - 326
  - 360
  - 367
  - 336
  - 368
  - 338
  - 339
  - 369
  - 341
  - 370
  - 343
  - 371
  - 431
  - 381
  - 318
  jupyter_client.connect.ConnectionFileMixin._create_connected_socket:
  - 650
  - 651
  - 653
  - 654
  - 657
  - 659
  jupyter_client.connect.ConnectionFileMixin._data_dir_default:
  - 323
  jupyter_client.connect.ConnectionFileMixin._equal_connections:
  - 616
  - 630
  jupyter_client.connect.ConnectionFileMixin._ip_changed:
  - 362
  jupyter_client.connect.ConnectionFileMixin._ip_default:
  - 352
  - 353
  - 354
  - 358
  jupyter_client.connect.ConnectionFileMixin._make_url:
  - 640
  - 642
  - 637
  jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info:
  - 585
  - 586
  - 587
  - 590
  - 591
  - 592
  - 601
  - 597
  - 600
  - 569
  - 602
  - 603
  - 606
  - 607
  jupyter_client.connect.ConnectionFileMixin._record_random_port_names:
  - 465
  - 470
  - 472
  - 476
  - 477
  - 478
  jupyter_client.connect.ConnectionFileMixin._session_default:
  - 386
  jupyter_client.connect.ConnectionFileMixin.blocking_client:
  - 434
  - 435
  - 436
  - 437
  jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file:
  - 441
  - 449
  - 445
  jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files:
  - 457
  - 460
  - 454
  - 455
  jupyter_client.connect.ConnectionFileMixin.cleanup_random_ports:
  - 481
  - 487
  - 490
  - 491
  - 493
  jupyter_client.connect.ConnectionFileMixin.connect_control:
  - 681
  - 682
  jupyter_client.connect.ConnectionFileMixin.connect_hb:
  - 677
  - 678
  jupyter_client.connect.ConnectionFileMixin.connect_iopub:
  - 664
  - 665
  - 663
  jupyter_client.connect.ConnectionFileMixin.connect_shell:
  - 669
  - 670
  jupyter_client.connect.ConnectionFileMixin.connect_stdin:
  - 673
  - 674
  jupyter_client.connect.ConnectionFileMixin.get_connection_info:
  - 416
  - 393
  - 419
  - 422
  jupyter_client.connect.ConnectionFileMixin.load_connection_file:
  - 522
  - 530
  - 532
  - 533
  - 534
  - 535
  jupyter_client.connect.ConnectionFileMixin.load_connection_info:
  - 549
  - 550
  - 552
  - 553
  - 554
  - 556
  - 558
  - 560
  - 561
  - 562
  - 565
  - 538
  jupyter_client.connect.ConnectionFileMixin.ports:
  - 378
  jupyter_client.connect.ConnectionFileMixin.write_connection_file:
  - 515
  - 516
  - 517
  - 496
  - 497
  - 500
  jupyter_client.connect.LocalPortCache:
  - 686
  jupyter_client.connect.LocalPortCache.__init__:
  - 697
  - 698
  jupyter_client.connect.LocalPortCache.find_available_port:
  - 704
  - 705
  - 706
  - 710
  - 711
  - 702
  - 703
  jupyter_client.connect.LocalPortCache.return_port:
  - 715
  - 716
  jupyter_client.connect.find_connection_file:
  - 227
  - 228
  - 230
  - 231
  - 202
  - 203
  - 234
  - 206
  - 207
  - 208
  - 238
  - 213
  - 182
  - 219
  jupyter_client.connect.find_connection_file.<lambda1>:
  - 238
  jupyter_client.connect.tunnel_to_kernel:
  - 291
  - 294
  - 296
  - 297
  - 299
  - 273
  - 275
  - 276
  - 246
  - 278
  - 280
  jupyter_client.connect.write_connection_file:
  - 128
  - 129
  - 130
  - 131
  - 132
  - 133
  - 134
  - 135
  - 136
  - 137
  - 147
  - 151
  - 156
  - 157
  - 159
  - 162
  - 163
  - 164
  - 166
  - 168
  - 170
  - 52
  - 92
  - 93
  - 95
  - 96
  - 97
  - 104
  - 105
  - 106
  - 107
  - 108
  - 110
  - 111
  - 112
  - 114
  - 115
  - 116
  - 117
  - 118
  - 119
  - 120
  - 123
  - 124
  - 126
  jupyter_client.consoleapp:
  - 1
  - 66
  - 37
  - 47
  - 48
  - 83
  - 63
  jupyter_client.consoleapp.IPythonConsoleApp:
  - 369
  jupyter_client.consoleapp.IPythonConsoleApp.__init__:
  - 372
  - 373
  - 374
  jupyter_client.consoleapp.JupyterConsoleApp:
  - 128
  - 129
  - 138
  - 140
  - 144
  - 115
  - 116
  - 117
  - 124
  - 93
  jupyter_client.consoleapp.JupyterConsoleApp._connection_file_default:
  - 136
  jupyter_client.consoleapp.JupyterConsoleApp._new_connection_file:
  - 282
  - 277
  - 279
  jupyter_client.consoleapp.JupyterConsoleApp.build_kernel_argv:
  - 153
  jupyter_client.consoleapp.JupyterConsoleApp.init_connection_file:
  - 160
  - 192
  - 194
  - 199
  - 201
  - 175
  - 208
  - 177
  - 210
  - 179
  - 182
  - 183
  - 215
  - 189
  jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_client:
  - 353
  - 336
  - 337
  - 338
  - 340
  jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_manager:
  - 288
  - 318
  - 320
  - 291
  - 322
  - 295
  - 333
  - 310
  - 311
  - 313
  - 317
  - 286
  jupyter_client.consoleapp.JupyterConsoleApp.init_ssh:
  - 226
  - 227
  - 228
  - 230
  - 233
  - 250
  - 265
  - 267
  - 268
  - 269
  - 245
  - 248
  - 253
  - 218
  - 219
  - 221
  - 254
  jupyter_client.consoleapp.JupyterConsoleApp.initialize:
  - 356
  - 360
  - 362
  - 363
  - 364
  - 365
  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:
  - 53
  jupyter_client.ioloop.restarter.AsyncIOLoopKernelRestarter.poll:
  - 56
  - 57
  - 58
  - 59
  - 60
  - 61
  - 63
  - 68
  - 69
  - 70
  - 73
  - 76
  - 82
  - 83
  - 94
  - 95
  - 98
  - 100
  - 101
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter:
  - 18
  - 20
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter._loop_default:
  - 30
  - 23
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter.start:
  - 43
  - 35
  - 36
  - 39
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter.stop:
  - 48
  - 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:
  - 17
  - 30
  jupyter_client.kernelapp.KernelApp._record_started:
  - 75
  - 76
  - 77
  - 71
  jupyter_client.kernelapp.KernelApp.initialize:
  - 35
  - 36
  - 38
  - 39
  - 40
  - 42
  - 44
  - 45
  jupyter_client.kernelapp.KernelApp.log_connection_info:
  - 65
  - 67
  - 68
  jupyter_client.kernelapp.KernelApp.setup_signals:
  - 48
  - 49
  - 56
  - 55
  jupyter_client.kernelapp.KernelApp.setup_signals.shutdown_handler:
  - 53
  jupyter_client.kernelapp.KernelApp.shutdown:
  - 59
  - 60
  - 61
  - 62
  jupyter_client.kernelapp.KernelApp.start:
  - 81
  - 82
  - 84
  - 85
  - 86
  - 87
  - 89
  jupyter_client.kernelspec:
  - 1
  - 69
  jupyter_client.kernelspec.KernelSpec:
  - 32
  - 33
  - 34
  - 35
  - 25
  - 27
  - 28
  - 29
  - 30
  - 31
  jupyter_client.kernelspec.KernelSpec.from_resource_dir:
  - 39
  - 43
  - 44
  - 45
  - 46
  jupyter_client.kernelspec.KernelSpec.to_dict:
  - 49
  jupyter_client.kernelspec.KernelSpec.to_json:
  - 66
  - 62
  jupyter_client.kernelspec.KernelSpecManager:
  - 163
  - 133
  - 141
  - 173
  - 146
  - 151
  - 123
  - 156
  - 125
  jupyter_client.kernelspec.KernelSpecManager._data_dir_default:
  - 144
  jupyter_client.kernelspec.KernelSpecManager._deprecated_trait:
  - 175
  - 178
  - 179
  - 183
  - 187
  jupyter_client.kernelspec.KernelSpecManager._find_spec_directory:
  - 256
  - 257
  - 258
  - 259
  - 260
  - 263
  - 255
  jupyter_client.kernelspec.KernelSpecManager._get_destination_dir:
  - 343
  - 344
  - 345
  - 346
  - 348
  jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name:
  - 232
  - 236
  - 243
  - 244
  - 245
  - 246
  - 247
  - 249
  jupyter_client.kernelspec.KernelSpecManager._kernel_dirs_default:
  - 197
  - 190
  jupyter_client.kernelspec.KernelSpecManager._user_kernel_dir_default:
  - 149
  jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs:
  - 225
  - 227
  - 203
  - 205
  - 206
  - 207
  - 208
  - 209
  - 212
  - 216
  - 223
  jupyter_client.kernelspec.KernelSpecManager.get_all_specs:
  - 290
  - 302
  - 304
  - 306
  - 307
  - 312
  - 314
  - 318
  jupyter_client.kernelspec.KernelSpecManager.get_kernel_spec:
  - 273
  - 277
  - 278
  - 282
  - 283
  - 284
  - 287
  jupyter_client.kernelspec.KernelSpecManager.install_kernel_spec:
  - 384
  - 391
  - 392
  - 394
  - 395
  - 396
  - 402
  - 403
  - 404
  - 406
  - 407
  - 358
  - 371
  - 372
  - 373
  - 374
  - 375
  - 379
  - 383
  jupyter_client.kernelspec.KernelSpecManager.install_native_kernel_spec:
  - 418
  - 411
  - 412
  jupyter_client.kernelspec.KernelSpecManager.remove_kernel_spec:
  - 322
  - 329
  - 333
  - 334
  - 335
  - 337
  jupyter_client.kernelspec.NoSuchKernel:
  - 112
  jupyter_client.kernelspec.NoSuchKernel.__init__:
  - 115
  jupyter_client.kernelspec._is_kernel_dir:
  - 85
  - 86
  jupyter_client.kernelspec._is_valid_kernel_name:
  - 73
  - 75
  jupyter_client.kernelspec._list_kernels_in:
  - 97
  - 98
  - 99
  - 101
  - 102
  - 103
  - 90
  - 94
  jupyter_client.kernelspec.find_kernel_specs:
  - 422
  - 423
  jupyter_client.kernelspec.get_kernel_spec:
  - 427
  - 431
  jupyter_client.kernelspec.install_kernel_spec:
  - 441
  - 442
  jupyter_client.kernelspec.install_native_kernel_spec:
  - 449
  - 450
  jupyter_client.kernelspecapp:
  - 1
  - 340
  - 341
  jupyter_client.kernelspecapp.InstallKernelSpec:
  - 98
  - 73
  - 106
  - 113
  - 119
  - 87
  - 92
  - 93
  jupyter_client.kernelspecapp.InstallKernelSpec._kernel_name_default:
  - 96
  jupyter_client.kernelspecapp.InstallKernelSpec._kernel_spec_manager_default:
  - 90
  jupyter_client.kernelspecapp.InstallKernelSpec.parse_command_line:
  - 138
  - 139
  - 141
  - 144
  - 145
  jupyter_client.kernelspecapp.InstallKernelSpec.start:
  - 160
  - 161
  - 162
  - 163
  - 164
  - 165
  - 166
  - 167
  - 148
  - 149
  - 150
  - 152
  jupyter_client.kernelspecapp.InstallNativeKernelSpec:
  - 240
  - 235
  - 231
  jupyter_client.kernelspecapp.InstallNativeKernelSpec._kernel_spec_manager_default:
  - 238
  jupyter_client.kernelspecapp.InstallNativeKernelSpec.start:
  - 258
  - 259
  - 266
  - 267
  - 269
  - 271
  - 272
  - 273
  - 274
  - 278
  - 279
  jupyter_client.kernelspecapp.KernelSpecApp:
  - 321
  - 302
  - 308
  - 310
  - 313
  - 316
  - 319
  jupyter_client.kernelspecapp.KernelSpecApp.start:
  - 329
  - 330
  - 331
  - 332
  - 333
  - 334
  - 335
  - 337
  jupyter_client.kernelspecapp.ListKernelSpecs:
  - 26
  - 27
  - 22
  jupyter_client.kernelspecapp.ListKernelSpecs._kernel_spec_manager_default:
  - 42
  jupyter_client.kernelspecapp.ListKernelSpecs.start:
  - 64
  - 65
  - 66
  - 68
  - 45
  - 46
  - 47
  - 48
  - 49
  - 50
  - 53
  jupyter_client.kernelspecapp.ListKernelSpecs.start.<lambda1>:
  - 53
  jupyter_client.kernelspecapp.ListKernelSpecs.start.path_key:
  - 56
  - 58
  - 59
  jupyter_client.kernelspecapp.ListProvisioners:
  - 283
  jupyter_client.kernelspecapp.ListProvisioners.start:
  - 289
  - 290
  - 291
  - 292
  - 295
  - 297
  - 298
  jupyter_client.kernelspecapp.ListProvisioners.start.<lambda1>:
  - 295
  jupyter_client.kernelspecapp.RemoveKernelSpec:
  - 172
  - 178
  - 179
  - 181
  - 189
  jupyter_client.kernelspecapp.RemoveKernelSpec._kernel_spec_manager_default:
  - 184
  jupyter_client.kernelspecapp.RemoveKernelSpec.parse_command_line:
  - 192
  - 193
  - 195
  - 196
  - 198
  jupyter_client.kernelspecapp.RemoveKernelSpec.start:
  - 201
  - 203
  - 204
  - 205
  - 206
  - 208
  - 209
  - 210
  - 211
  - 212
  - 213
  - 214
  - 217
  - 219
  - 221
  - 222
  - 223
  - 224
  - 227
  jupyter_client.launcher:
  - 1
  jupyter_client.launcher.launch_kernel:
  - 129
  - 132
  - 134
  - 149
  - 150
  - 23
  - 154
  - 155
  - 161
  - 162
  - 163
  - 165
  - 166
  - 172
  - 177
  - 179
  - 67
  - 68
  - 69
  - 75
  - 77
  - 85
  - 88
  - 89
  - 96
  - 97
  - 117
  - 120
  - 121
  jupyter_client.localinterfaces:
  - 104
  - 1
  - 138
  jupyter_client.localinterfaces._get_output:
  - 36
  - 38
  - 39
  - 41
  - 42
  - 43
  - 44
  - 46
  jupyter_client.localinterfaces._load_ips:
  - 291
  - 287
  - 297
  - 299
  - 268
  - 302
  - 303
  - 274
  - 280
  - 282
  - 255
  jupyter_client.localinterfaces._load_ips_dumb:
  - 246
  jupyter_client.localinterfaces._load_ips_gethostbyname:
  - 226
  - 227
  - 229
  - 230
  - 234
  - 235
  - 238
  - 240
  - 214
  - 220
  jupyter_client.localinterfaces._load_ips_ifconfig:
  - 108
  - 111
  - 114
  - 116
  - 118
  - 119
  - 120
  - 121
  - 122
  jupyter_client.localinterfaces._load_ips_ip:
  - 129
  - 131
  - 132
  - 133
  - 134
  - 135
  - 126
  - 127
  jupyter_client.localinterfaces._load_ips_ipconfig:
  - 142
  - 143
  - 145
  - 147
  - 148
  - 149
  - 150
  - 151
  jupyter_client.localinterfaces._load_ips_netifaces:
  - 192
  - 194
  - 195
  - 196
  - 197
  - 199
  - 200
  - 201
  - 203
  - 204
  - 207
  - 208
  - 209
  - 210
  - 184
  jupyter_client.localinterfaces._load_ips_psutil:
  - 165
  - 166
  - 167
  - 169
  - 170
  - 171
  - 173
  - 174
  - 177
  - 178
  - 179
  - 180
  - 155
  jupyter_client.localinterfaces._only_once:
  - 50
  jupyter_client.localinterfaces._only_once.wrapped:
  - 56
  - 54
  jupyter_client.localinterfaces._populate_from_list:
  - 96
  - 98
  - 100
  - 101
  - 79
  - 80
  - 87
  - 88
  - 89
  - 90
  - 91
  - 94
  jupyter_client.localinterfaces._requires_ips:
  - 64
  jupyter_client.localinterfaces._requires_ips.ips_loaded:
  - 67
  - 68
  jupyter_client.localinterfaces._uniq_stable:
  - 21
  - 26
  - 28
  - 29
  - 30
  - 31
  jupyter_client.localinterfaces.is_local_ip:
  - 326
  jupyter_client.localinterfaces.is_public_ip:
  - 332
  jupyter_client.localinterfaces.local_ips:
  - 308
  jupyter_client.localinterfaces.localhost:
  - 320
  jupyter_client.localinterfaces.public_ips:
  - 314
  jupyter_client.manager:
  - 752
  - 1
  - 60
  jupyter_client.manager.AsyncKernelManager:
  - 714
  - 717
  - 720
  - 723
  - 725
  jupyter_client.manager.AsyncKernelManager._context_default:
  - 728
  jupyter_client.manager.AsyncKernelManager.client:
  - 733
  - 734
  jupyter_client.manager.KernelManager:
  - 129
  - 513
  - 131
  - 137
  - 638
  - 140
  - 142
  - 146
  - 404
  - 150
  - 157
  - 159
  - 671
  - 163
  - 419
  - 168
  - 555
  - 688
  - 182
  - 184
  - 442
  - 702
  - 198
  - 455
  - 204
  - 598
  - 220
  - 221
  - 223
  - 225
  - 102
  - 615
  - 360
  - 496
  - 126
  jupyter_client.manager.KernelManager.__del__:
  - 232
  - 233
  jupyter_client.manager.KernelManager.__init__:
  - 110
  - 111
  - 112
  - 120
  - 121
  jupyter_client.manager.KernelManager._async_cleanup_resources:
  - 499
  - 500
  - 501
  - 503
  - 504
  - 507
  - 508
  - 510
  - 511
  jupyter_client.manager.KernelManager._async_finish_shutdown:
  - 480
  - 483
  - 484
  - 487
  - 489
  - 492
  - 494
  - 463
  - 468
  - 469
  - 470
  - 471
  - 474
  - 475
  - 478
  jupyter_client.manager.KernelManager._async_interrupt_kernel:
  - 641
  - 646
  - 647
  - 648
  - 652
  - 653
  - 655
  - 657
  - 660
  - 661
  - 663
  - 664
  - 665
  - 666
  jupyter_client.manager.KernelManager._async_is_alive:
  - 691
  - 692
  - 695
  - 697
  - 698
  jupyter_client.manager.KernelManager._async_kill_kernel:
  - 618
  - 622
  - 624
  - 628
  - 631
  - 635
  - 636
  jupyter_client.manager.KernelManager._async_launch_kernel:
  - 354
  - 347
  - 358
  jupyter_client.manager.KernelManager._async_post_start_kernel:
  - 415
  - 417
  - 414
  - 407
  jupyter_client.manager.KernelManager._async_pre_start_kernel:
  - 390
  - 393
  - 394
  - 395
  - 400
  - 401
  - 378
  jupyter_client.manager.KernelManager._async_request_shutdown:
  - 449
  - 450
  - 452
  - 445
  - 447
  jupyter_client.manager.KernelManager._async_restart_kernel:
  - 584
  - 589
  - 591
  - 560
  - 592
  - 595
  - 596
  jupyter_client.manager.KernelManager._async_send_kernel_sigterm:
  - 610
  - 611
  - 613
  jupyter_client.manager.KernelManager._async_shutdown_kernel:
  - 544
  - 545
  - 547
  - 517
  - 551
  - 553
  - 534
  - 539
  - 541
  - 542
  jupyter_client.manager.KernelManager._async_signal_kernel:
  - 681
  - 674
  - 683
  jupyter_client.manager.KernelManager._async_start_kernel:
  - 423
  - 435
  - 438
  - 439
  - 440
  jupyter_client.manager.KernelManager._async_wait:
  - 709
  - 710
  jupyter_client.manager.KernelManager._client_class_changed:
  - 148
  jupyter_client.manager.KernelManager._client_factory_default:
  - 144
  jupyter_client.manager.KernelManager._close_control_socket:
  - 370
  - 372
  jupyter_client.manager.KernelManager._connect_control_socket:
  - 365
  - 366
  jupyter_client.manager.KernelManager._context_default:
  - 134
  jupyter_client.manager.KernelManager._kernel_name_changed:
  - 187
  jupyter_client.manager.KernelManager._kernel_spec_manager_default:
  - 161
  jupyter_client.manager.KernelManager.add_restart_callback:
  - 248
  - 249
  - 251
  jupyter_client.manager.KernelManager.client:
  - 264
  - 266
  - 267
  - 275
  - 276
  jupyter_client.manager.KernelManager.format_kernel_cmd:
  - 328
  - 332
  - 334
  - 304
  - 336
  - 338
  - 309
  - 344
  jupyter_client.manager.KernelManager.format_kernel_cmd.from_ns:
  - 341
  - 342
  jupyter_client.manager.KernelManager.has_kernel:
  - 606
  jupyter_client.manager.KernelManager.kernel_spec:
  - 194
  - 195
  jupyter_client.manager.KernelManager.ready:
  - 210
  - 211
  - 212
  jupyter_client.manager.KernelManager.remove_restart_callback:
  - 257
  - 254
  - 255
  jupyter_client.manager.KernelManager.start_restarter:
  - 240
  jupyter_client.manager.KernelManager.stop_restarter:
  - 244
  jupyter_client.manager.KernelManager.update_env:
  - 296
  - 297
  - 299
  - 301
  - 283
  jupyter_client.manager._ShutdownStatus:
  - 46
  jupyter_client.manager._get_future:
  - 64
  - 66
  - 67
  - 70
  jupyter_client.manager.in_pending_state:
  - 80
  - 74
  - 98
  jupyter_client.manager.in_pending_state.wrapper:
  - 82
  - 83
  - 84
  - 87
  - 89
  - 90
  - 91
  - 94
  - 95
  jupyter_client.manager.run_kernel:
  - 801
  - 803
  - 805
  - 806
  - 793
  jupyter_client.manager.start_new_async_kernel:
  - 776
  - 777
  - 778
  - 779
  - 780
  - 782
  - 784
  - 785
  jupyter_client.manager.start_new_kernel:
  - 758
  - 759
  - 760
  - 761
  - 762
  - 764
  - 766
  - 767
  jupyter_client.managerabc:
  - 1
  jupyter_client.managerabc.KernelManagerABC:
  - 9
  jupyter_client.managerabc.KernelManagerABC.interrupt_kernel:
  - 45
  jupyter_client.managerabc.KernelManagerABC.is_alive:
  - 55
  jupyter_client.managerabc.KernelManagerABC.restart_kernel:
  - 36
  jupyter_client.managerabc.KernelManagerABC.shutdown_kernel:
  - 31
  jupyter_client.managerabc.KernelManagerABC.signal_kernel:
  - 50
  jupyter_client.managerabc.KernelManagerABC.start_kernel:
  - 26
  jupyter_client.multikernelmanager:
  - 1
  jupyter_client.multikernelmanager.AsyncMultiKernelManager:
  - 600
  - 608
  - 616
  - 614
  jupyter_client.multikernelmanager.AsyncMultiKernelManager._context_default:
  - 619
  jupyter_client.multikernelmanager.MultiKernelManager:
  - 287
  - 52
  - 54
  - 438
  - 58
  - 60
  - 67
  - 71
  - 73
  - 334
  - 91
  - 96
  - 98
  - 100
  - 107
  - 112
  - 113
  - 115
  - 382
  jupyter_client.multikernelmanager.MultiKernelManager.__del__:
  - 128
  - 132
  - 122
  - 123
  - 124
  - 125
  - 126
  jupyter_client.multikernelmanager.MultiKernelManager.__init__:
  - 118
  jupyter_client.multikernelmanager.MultiKernelManager.__len__:
  - 186
  - 187
  jupyter_client.multikernelmanager.MultiKernelManager._add_kernel_when_ready:
  - 232
  - 234
  - 236
  jupyter_client.multikernelmanager.MultiKernelManager._async_restart_kernel:
  - 417
  - 431
  - 432
  - 435
  - 436
  jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_all:
  - 365
  - 366
  - 367
  - 368
  - 369
  - 370
  - 372
  - 373
  - 375
  - 377
  jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel:
  - 321
  - 322
  - 324
  - 325
  - 295
  - 328
  - 329
  - 331
  - 306
  - 308
  - 311
  - 312
  - 313
  - 317
  - 319
  jupyter_client.multikernelmanager.MultiKernelManager._async_start_kernel:
  - 262
  - 263
  - 264
  - 265
  - 271
  - 272
  - 275
  - 280
  - 282
  - 255
  jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id:
  - 454
  - 455
  jupyter_client.multikernelmanager.MultiKernelManager._context_default:
  - 110
  jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory:
  - 78
  jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager:
  - 81
  - 82
  - 84
  - 85
  - 86
  jupyter_client.multikernelmanager.MultiKernelManager._kernel_manager_class_changed:
  - 69
  jupyter_client.multikernelmanager.MultiKernelManager._kernel_manager_factory_default:
  - 75
  jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready:
  - 242
  - 243
  - 244
  - 246
  jupyter_client.multikernelmanager.MultiKernelManager._starting_kernels:
  - 104
  jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels:
  - 249
  - 252
  jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback:
  - 473
  jupyter_client.multikernelmanager.MultiKernelManager.cleanup_resources:
  - 352
  jupyter_client.multikernelmanager.MultiKernelManager.connect_control:
  - 539
  jupyter_client.multikernelmanager.MultiKernelManager.connect_hb:
  - 575
  jupyter_client.multikernelmanager.MultiKernelManager.connect_iopub:
  - 503
  jupyter_client.multikernelmanager.MultiKernelManager.connect_shell:
  - 521
  jupyter_client.multikernelmanager.MultiKernelManager.connect_stdin:
  - 557
  jupyter_client.multikernelmanager.MultiKernelManager.finish_shutdown:
  - 347
  - 348
  jupyter_client.multikernelmanager.MultiKernelManager.get_connection_info:
  - 483
  jupyter_client.multikernelmanager.MultiKernelManager.get_kernel:
  - 466
  - 459
  jupyter_client.multikernelmanager.MultiKernelManager.interrupt_kernel:
  - 385
  - 392
  - 393
  - 396
  - 397
  jupyter_client.multikernelmanager.MultiKernelManager.is_alive:
  - 442
  jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids:
  - 135
  - 136
  - 137
  - 138
  - 139
  - 142
  - 143
  - 144
  - 145
  - 146
  - 151
  - 152
  - 155
  - 156
  - 160
  - 161
  - 164
  - 166
  - 171
  - 172
  - 177
  - 183
  jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id:
  - 596
  - 590
  jupyter_client.multikernelmanager.MultiKernelManager.pre_start_kernel:
  - 196
  - 197
  - 200
  - 206
  - 208
  - 209
  jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel:
  - 362
  - 355
  jupyter_client.multikernelmanager.MultiKernelManager.remove_restart_callback:
  - 479
  jupyter_client.multikernelmanager.MultiKernelManager.request_shutdown:
  - 338
  jupyter_client.multikernelmanager.MultiKernelManager.signal_kernel:
  - 402
  - 414
  jupyter_client.multikernelmanager.MultiKernelManager.update_env:
  - 225
  - 218
  - 226
  jupyter_client.multikernelmanager.kernel_method:
  - 33
  - 31
  jupyter_client.multikernelmanager.kernel_method.wrapped:
  - 41
  - 44
  - 38
  - 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:
  - 224
  - 226
  - 227
  - 228
  jupyter_client.provisioning.local_provisioner.LocalProvisioner._tolerate_no_process:
  - 129
  - 130
  - 137
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.cleanup:
  - 141
  - 142
  - 144
  - 152
  - 153
  - 154
  - 155
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.get_provisioner_info:
  - 232
  - 233
  - 234
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.kill:
  - 96
  - 97
  - 98
  - 101
  - 106
  - 108
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.launch_kernel:
  - 208
  - 209
  - 210
  - 212
  - 214
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.load_provisioner_info:
  - 238
  - 239
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.poll:
  - 40
  - 42
  - 43
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.pre_launch:
  - 158
  - 168
  - 169
  - 175
  - 179
  - 183
  - 184
  - 185
  - 186
  - 187
  - 188
  - 189
  - 191
  - 192
  - 193
  - 195
  - 196
  - 198
  - 202
  - 205
  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:
  - 33
  - 35
  - 41
  - 47
  - 20
  - 52
  - 22
  - 53
  - 24
  - 54
  - 55
  - 61
  - 57
  jupyter_client.restarter.KernelRestarter._default_last_dead:
  - 59
  jupyter_client.restarter.KernelRestarter._fire_callbacks:
  - 105
  - 107
  - 102
  - 103
  jupyter_client.restarter.KernelRestarter.add_callback:
  - 85
  - 77
  jupyter_client.restarter.KernelRestarter.poll:
  - 128
  - 129
  - 130
  - 133
  - 136
  - 142
  - 143
  - 154
  - 155
  - 158
  - 160
  - 161
  - 115
  - 116
  - 117
  - 118
  - 120
  - 121
  - 123
  jupyter_client.restarter.KernelRestarter.remove_callback:
  - 88
  - 97
  jupyter_client.restarter.KernelRestarter.start:
  - 67
  jupyter_client.restarter.KernelRestarter.stop:
  - 72
  jupyter_client.runapp:
  - 128
  - 1
  - 33
  - 37
  - 38
  - 22
  - 24
  - 26
  - 127
  - 29
  - 31
  jupyter_client.runapp.RunApp:
  - 42
  - 47
  - 48
  - 49
  - 50
  - 51
  jupyter_client.runapp.RunApp.handle_sigint:
  - 80
  - 81
  - 83
  - 79
  jupyter_client.runapp.RunApp.init_kernel_info:
  - 99
  - 86
  - 88
  - 89
  - 90
  - 93
  - 95
  jupyter_client.runapp.RunApp.initialize:
  - 71
  - 72
  - 73
  - 74
  - 75
  - 76
  jupyter_client.runapp.RunApp.parse_command_line:
  - 64
  - 65
  - 66
  jupyter_client.runapp.RunApp.start:
  - 104
  - 105
  - 106
  - 107
  - 108
  - 109
  - 110
  - 111
  - 112
  - 114
  - 117
  - 118
  - 120
  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:
  - 514
  - 520
  - 396
  - 403
  - 408
  - 410
  - 411
  - 416
  - 424
  - 428
  - 302
  - 433
  - 437
  - 444
  - 456
  - 461
  - 469
  - 342
  - 470
  - 344
  - 479
  - 353
  - 481
  - 487
  - 361
  - 491
  - 493
  - 499
  - 501
  - 375
  - 509
  - 382
  jupyter_client.session.Session.__init__:
  - 576
  - 529
  - 568
  - 569
  - 570
  - 572
  - 573
  - 574
  - 575
  jupyter_client.session.Session._add_digest:
  - 999
  - 1000
  - 1004
  - 1005
  - 1007
  jupyter_client.session.Session._check_packers:
  - 642
  - 643
  - 614
  - 620
  - 625
  - 635
  - 637
  - 638
  - 607
  jupyter_client.session.Session._check_packers.<lambda1>:
  - 642
  jupyter_client.session.Session._check_packers.<lambda2>:
  - 643
  jupyter_client.session.Session._cull_digest_history:
  - 1010
  - 1014
  - 1015
  - 1016
  - 1017
  - 1019
  - 1020
  jupyter_client.session.Session._key_changed:
  - 435
  jupyter_client.session.Session._key_default:
  - 431
  jupyter_client.session.Session._keyfile_changed:
  - 483
  - 484
  jupyter_client.session.Session._new_auth:
  - 464
  - 465
  jupyter_client.session.Session._pack_changed:
  - 496
  jupyter_client.session.Session._packer_changed:
  - 368
  - 364
  - 373
  jupyter_client.session.Session._session_changed:
  - 405
  jupyter_client.session.Session._session_default:
  - 400
  - 399
  jupyter_client.session.Session._signature_scheme_changed:
  - 449
  - 451
  - 454
  - 447
  jupyter_client.session.Session._unpack_changed:
  - 505
  jupyter_client.session.Session._unpacker_changed:
  - 385
  - 394
  - 389
  jupyter_client.session.Session.clone:
  - 581
  - 590
  - 591
  - 592
  - 594
  - 595
  jupyter_client.session.Session.deserialize:
  - 1028
  - 1054
  - 1056
  - 1057
  - 1058
  - 1060
  - 1061
  - 1063
  - 1066
  - 1068
  - 1070
  - 1071
  - 1072
  - 1075
  - 1078
  - 1079
  - 1082
  - 1083
  - 1084
  - 1085
  - 1088
  - 1089
  - 1091
  - 1092
  - 1094
  - 1095
  - 1097
  jupyter_client.session.Session.feed_identities:
  - 992
  - 996
  - 981
  - 982
  - 983
  - 986
  - 988
  - 989
  - 959
  jupyter_client.session.Session.msg:
  - 672
  - 657
  - 664
  - 668
  - 670
  - 671
  jupyter_client.session.Session.msg_header:
  - 646
  - 647
  jupyter_client.session.Session.msg_id:
  - 604
  jupyter_client.session.Session.recv:
  - 933
  - 935
  - 936
  - 939
  - 941
  - 949
  - 951
  - 920
  jupyter_client.session.Session.send:
  - 809
  - 813
  - 815
  - 817
  - 821
  - 823
  - 830
  - 831
  - 834
  - 835
  - 840
  - 846
  - 850
  - 851
  - 852
  - 853
  - 854
  - 857
  - 859
  - 860
  - 863
  - 867
  - 868
  - 869
  - 870
  - 766
  jupyter_client.session.Session.send_raw:
  - 900
  - 902
  - 903
  - 905
  - 907
  - 908
  - 909
  - 910
  - 911
  - 884
  jupyter_client.session.Session.serialize:
  - 695
  - 717
  - 718
  - 720
  - 721
  - 722
  - 725
  - 727
  - 732
  - 733
  - 734
  - 740
  - 742
  - 743
  - 744
  - 745
  - 747
  - 748
  - 750
  jupyter_client.session.Session.sign:
  - 676
  - 683
  - 685
  - 686
  - 687
  - 688
  jupyter_client.session.Session.unserialize:
  - 1107
  - 1100
  - 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:
  - 296
  - 297
  - 282
  - 283
  jupyter_client.session.json_packer:
  - 103
  - 104
  - 110
  - 93
  - 95
  jupyter_client.session.json_unpacker:
  - 121
  - 122
  - 123
  - 124
  jupyter_client.session.msg_header:
  - 275
  - 276
  - 278
  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
  - 65
  - 66
  - 67
  - 72
  - 73
  - 74
  - 75
  - 77
  - 78
  - 79
  - 80
  - 82
  - 83
  - 84
  - 85
  jupyter_client.ssh.forward.forward_tunnel:
  - 89
  - 99
  jupyter_client.ssh.tunnel:
  - 1
  - 434
  - 22
  - 23
  - 59
  jupyter_client.ssh.tunnel._paramiko_tunnel:
  - 418
  - 419
  - 422
  - 425
  - 394
  - 427
  - 428
  - 397
  - 398
  - 399
  - 400
  - 430
  - 431
  - 403
  jupyter_client.ssh.tunnel._split_server:
  - 309
  - 310
  - 312
  - 313
  - 314
  - 315
  jupyter_client.ssh.tunnel._stop_tunnel:
  - 305
  jupyter_client.ssh.tunnel._try_passwordless_openssh:
  - 76
  - 77
  - 81
  - 86
  - 87
  - 90
  - 93
  - 94
  jupyter_client.ssh.tunnel._try_passwordless_paramiko:
  - 106
  - 107
  - 109
  - 114
  - 115
  - 116
  - 117
  - 119
  - 123
  jupyter_client.ssh.tunnel.open_tunnel:
  - 164
  - 175
  - 176
  - 177
  - 178
  - 182
  - 191
  jupyter_client.ssh.tunnel.openssh_tunnel:
  - 260
  - 261
  - 262
  - 274
  - 275
  - 278
  - 282
  - 283
  - 289
  - 290
  - 295
  - 296
  - 298
  - 299
  - 300
  - 203
  - 238
  - 242
  - 245
  - 246
  - 250
  - 251
  - 252
  jupyter_client.ssh.tunnel.paramiko_tunnel:
  - 330
  - 369
  - 373
  - 374
  - 376
  - 382
  jupyter_client.ssh.tunnel.select_random_ports:
  - 43
  - 46
  - 47
  - 48
  - 49
  - 50
  - 51
  - 52
  jupyter_client.ssh.tunnel.try_passwordless_ssh:
  - 72
  - 69
  - 63
  jupyter_client.ssh.tunnel.tunnel_connection:
  - 136
  - 152
  - 144
  jupyter_client.threaded:
  - 1
  jupyter_client.threaded.IOLoopThread:
  - 222
  jupyter_client.threaded.IOLoopThread.__del__:
  - 286
  jupyter_client.threaded.IOLoopThread.__init__:
  - 228
  - 229
  jupyter_client.threaded.IOLoopThread._async_run:
  - 269
  - 271
  jupyter_client.threaded.IOLoopThread._notice_exit:
  - 237
  jupyter_client.threaded.IOLoopThread.close:
  - 289
  - 290
  - 292
  jupyter_client.threaded.IOLoopThread.run:
  - 260
  - 262
  - 264
  - 266
  - 252
  - 254
  - 255
  jupyter_client.threaded.IOLoopThread.run.assign_ioloop:
  - 258
  jupyter_client.threaded.IOLoopThread.start:
  - 241
  - 249
  - 246
  - 247
  jupyter_client.threaded.IOLoopThread.stop:
  - 281
  - 274
  - 282
  jupyter_client.threaded.ThreadedKernelClient:
  - 298
  - 337
  - 306
  - 339
  - 338
  - 340
  - 341
  jupyter_client.threaded.ThreadedKernelClient._check_kernel_info_reply:
  - 328
  - 326
  - 327
  jupyter_client.threaded.ThreadedKernelClient.ioloop:
  - 302
  jupyter_client.threaded.ThreadedKernelClient.is_alive:
  - 344
  - 345
  - 348
  jupyter_client.threaded.ThreadedKernelClient.start_channels:
  - 320
  - 323
  - 316
  - 317
  - 318
  jupyter_client.threaded.ThreadedKernelClient.stop_channels:
  - 332
  - 333
  - 334
  - 335
  jupyter_client.threaded.ThreadedZMQSocketChannel:
  - 28
  jupyter_client.threaded.ThreadedZMQSocketChannel.__init__:
  - 71
  - 73
  - 42
  - 53
  - 58
  jupyter_client.threaded.ThreadedZMQSocketChannel.__init__.setup_stream:
  - 64
  - 66
  - 68
  - 63
  jupyter_client.threaded.ThreadedZMQSocketChannel._flush:
  - 217
  - 215
  jupyter_client.threaded.ThreadedZMQSocketChannel._handle_recv:
  - 140
  - 146
  - 147
  - 149
  - 150
  - 151
  jupyter_client.threaded.ThreadedZMQSocketChannel.call_handlers:
  - 154
  jupyter_client.threaded.ThreadedZMQSocketChannel.close:
  - 105
  - 108
  - 110
  - 112
  - 114
  - 116
  - 90
  - 91
  - 93
  jupyter_client.threaded.ThreadedZMQSocketChannel.close.close_stream:
  - 97
  - 98
  - 101
  - 103
  jupyter_client.threaded.ThreadedZMQSocketChannel.flush:
  - 170
  - 203
  - 204
  - 205
  - 207
  - 209
  - 188
  - 190
  jupyter_client.threaded.ThreadedZMQSocketChannel.flush.flush:
  - 201
  - 197
  - 199
  jupyter_client.threaded.ThreadedZMQSocketChannel.is_alive:
  - 78
  jupyter_client.threaded.ThreadedZMQSocketChannel.process_events:
  - 164
  jupyter_client.threaded.ThreadedZMQSocketChannel.send:
  - 137
  - 122
  jupyter_client.threaded.ThreadedZMQSocketChannel.send.thread_send:
  - 134
  jupyter_client.threaded.ThreadedZMQSocketChannel.start:
  - 82
  jupyter_client.threaded.ThreadedZMQSocketChannel.stop:
  - 86
  jupyter_client.utils:
  - 1
  jupyter_client.utils._expand_path:
  - 71
  - 85
  - 86
  - 87
  - 88
  - 89
  jupyter_client.utils._filefind:
  - 64
  - 65
  - 17
  - 50
  - 52
  - 55
  - 57
  - 60
  - 61
  - 62
  - 63
  jupyter_client.win_interrupt:
  - 1
  jupyter_client.win_interrupt.create_interrupt_event:
  - 35
  - 11
  - 29
  - 30
  - 31
  jupyter_client.win_interrupt.send_interrupt:
  - 44
  - 45
  jupyter_server:
  - 1
  - 6
  - 8
  - 9
  - 14
  jupyter_server.__main__:
  - 1
  - 3
  - 6
  jupyter_server._sysinfo:
  - 1
  jupyter_server._sysinfo.get_sys_info:
  - 91
  - 93
  - 94
  jupyter_server._sysinfo.pkg_commit_hash:
  - 42
  - 44
  - 16
  - 50
  - 54
  - 55
  - 58
  jupyter_server._sysinfo.pkg_info:
  - 64
  - 76
  - 85
  jupyter_server._tz:
  - 38
  - 1
  - 14
  jupyter_server._tz.isoformat:
  - 42
  - 46
  jupyter_server._tz.tzUTC:
  - 18
  jupyter_server._tz.tzUTC.dst:
  - 25
  jupyter_server._tz.tzUTC.utcoffset:
  - 21
  jupyter_server._tz.utcfromtimestamp:
  - 35
  jupyter_server._tz.utcnow:
  - 30
  - 31
  jupyter_server._version:
  - 1
  - 13
  - 15
  - 16
  - 17
  - 18
  jupyter_server.auth.__main__:
  - 1
  - 62
  - 63
  jupyter_server.auth.__main__.main:
  - 45
  - 46
  - 47
  - 48
  - 51
  - 56
  - 57
  - 58
  - 59
  jupyter_server.auth.__main__.set_password:
  - 39
  - 40
  - 41
  - 16
  - 20
  - 21
  - 22
  - 23
  - 24
  - 25
  - 29
  - 30
  - 31
  jupyter_server.auth.authorizer:
  - 1
  - 20
  jupyter_server.auth.authorizer.AllowAllAuthorizer:
  - 75
  jupyter_server.auth.authorizer.AllowAllAuthorizer.is_authorized:
  - 85
  jupyter_server.auth.authorizer.Authorizer:
  - 27
  - 46
  jupyter_server.auth.authorizer.Authorizer.is_authorized:
  - 51
  jupyter_server.auth.decorator:
  - 1
  - 15
  jupyter_server.auth.decorator.allow_unauthenticated:
  - 112
  - 114
  - 91
  - 108
  jupyter_server.auth.decorator.allow_unauthenticated.wrapper:
  - 110
  jupyter_server.auth.decorator.authorized:
  - 81
  - 85
  - 87
  - 23
  jupyter_server.auth.decorator.authorized.wrapper:
  - 46
  jupyter_server.auth.decorator.authorized.wrapper.inner:
  - 66
  - 67
  - 69
  - 70
  - 72
  - 52
  - 53
  - 55
  - 57
  - 61
  - 62
  jupyter_server.auth.decorator.ws_authenticated:
  - 140
  - 142
  - 132
  - 118
  jupyter_server.auth.decorator.ws_authenticated.wrapper:
  - 136
  - 138
  - 135
  jupyter_server.auth.identity:
  - 1
  - 31
  jupyter_server.auth.identity.IdentityProvider:
  - 131
  - 134
  - 137
  - 139
  - 145
  - 149
  - 155
  - 157
  - 163
  - 165
  - 181
  - 185
  - 188
  - 192
  - 196
  - 197
  - 200
  - 205
  - 461
  - 222
  - 234
  - 115
  jupyter_server.auth.identity.IdentityProvider._force_clear_cookie:
  - 416
  - 417
  - 418
  - 420
  - 422
  - 400
  - 413
  - 414
  jupyter_server.auth.identity.IdentityProvider._get_user:
  - 256
  - 257
  - 260
  - 261
  - 268
  - 271
  - 272
  - 277
  - 281
  - 282
  - 283
  - 284
  - 285
  - 286
  - 289
  - 292
  - 252
  - 253
  - 255
  jupyter_server.auth.identity.IdentityProvider._token_default:
  - 207
  - 210
  - 212
  - 213
  - 214
  - 220
  jupyter_server.auth.identity.IdentityProvider._validate_updatable_fields:
  - 224
  - 225
  - 229
  jupyter_server.auth.identity.IdentityProvider.auth_enabled:
  - 594
  jupyter_server.auth.identity.IdentityProvider.check_update:
  - 307
  - 308
  - 309
  jupyter_server.auth.identity.IdentityProvider.clear_login_cookie:
  - 425
  - 427
  - 428
  - 429
  - 430
  - 431
  - 436
  jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user:
  - 515
  - 520
  - 521
  - 525
  - 526
  jupyter_server.auth.identity.IdentityProvider.get_cookie_name:
  - 376
  - 370
  - 379
  jupyter_server.auth.identity.IdentityProvider.get_handlers:
  - 327
  - 332
  - 333
  - 334
  - 335
  jupyter_server.auth.identity.IdentityProvider.get_token:
  - 464
  - 471
  - 472
  - 474
  - 475
  - 476
  jupyter_server.auth.identity.IdentityProvider.get_user:
  - 237
  - 246
  jupyter_server.auth.identity.IdentityProvider.get_user_cookie:
  - 449
  - 451
  - 454
  - 457
  - 458
  - 441
  - 445
  - 446
  jupyter_server.auth.identity.IdentityProvider.get_user_token:
  - 480
  - 486
  - 487
  - 490
  - 492
  - 494
  - 500
  - 504
  - 505
  - 508
  - 509
  jupyter_server.auth.identity.IdentityProvider.identity_model:
  - 322
  - 324
  jupyter_server.auth.identity.IdentityProvider.is_token_authenticated:
  - 540
  - 549
  - 550
  jupyter_server.auth.identity.IdentityProvider.login_available:
  - 605
  jupyter_server.auth.identity.IdentityProvider.logout_available:
  - 610
  jupyter_server.auth.identity.IdentityProvider.persist_user_model:
  - 318
  jupyter_server.auth.identity.IdentityProvider.process_login_form:
  - 577
  - 581
  - 583
  - 584
  - 585
  - 587
  - 588
  jupyter_server.auth.identity.IdentityProvider.set_login_cookie:
  - 384
  - 385
  - 389
  - 391
  - 392
  - 393
  - 394
  - 395
  - 382
  jupyter_server.auth.identity.IdentityProvider.should_check_origin:
  - 529
  - 537
  jupyter_server.auth.identity.IdentityProvider.update_user:
  - 299
  - 300
  - 301
  - 302
  - 303
  jupyter_server.auth.identity.IdentityProvider.update_user_model:
  - 314
  jupyter_server.auth.identity.IdentityProvider.user_from_cookie:
  - 360
  - 358
  - 359
  jupyter_server.auth.identity.IdentityProvider.user_to_cookie:
  - 346
  - 339
  jupyter_server.auth.identity.IdentityProvider.validate_security:
  - 557
  - 561
  - 563
  - 564
  - 565
  - 566
  - 570
  - 571
  jupyter_server.auth.identity.LegacyIdentityProvider:
  - 752
  - 745
  - 754
  - 761
  jupyter_server.auth.identity.LegacyIdentityProvider.get_user:
  - 776
  - 772
  - 773
  - 774
  jupyter_server.auth.identity.LegacyIdentityProvider.is_token_authenticated:
  - 792
  - 791
  jupyter_server.auth.identity.LegacyIdentityProvider.login_available:
  - 780
  - 781
  jupyter_server.auth.identity.LegacyIdentityProvider.should_check_origin:
  - 787
  - 788
  jupyter_server.auth.identity.LegacyIdentityProvider.validate_security:
  - 800
  - 801
  - 802
  - 804
  - 805
  - 806
  - 807
  - 799
  jupyter_server.auth.identity.PasswordIdentityProvider:
  - 615
  - 617
  - 649
  - 620
  - 652
  - 665
  - 633
  - 636
  - 669
  jupyter_server.auth.identity.PasswordIdentityProvider._need_token_default:
  - 667
  jupyter_server.auth.identity.PasswordIdentityProvider.auth_enabled:
  - 686
  - 687
  jupyter_server.auth.identity.PasswordIdentityProvider.login_available:
  - 681
  jupyter_server.auth.identity.PasswordIdentityProvider.passwd_check:
  - 701
  - 702
  jupyter_server.auth.identity.PasswordIdentityProvider.persist_user_model:
  - 697
  - 698
  jupyter_server.auth.identity.PasswordIdentityProvider.process_login_form:
  - 705
  - 709
  - 710
  - 712
  - 713
  - 714
  - 716
  - 717
  - 718
  - 719
  - 720
  - 721
  - 722
  - 723
  - 724
  jupyter_server.auth.identity.PasswordIdentityProvider.update_user_model:
  - 690
  - 691
  - 692
  - 693
  jupyter_server.auth.identity.PasswordIdentityProvider.validate_security:
  - 736
  - 737
  - 739
  - 740
  - 741
  - 733
  - 734
  - 735
  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:
  - 157
  - 103
  jupyter_server.auth.login.LegacyLoginHandler.get_login_available:
  - 293
  - 295
  jupyter_server.auth.login.LegacyLoginHandler.get_token:
  - 161
  - 169
  - 170
  - 172
  - 173
  - 174
  jupyter_server.auth.login.LegacyLoginHandler.get_user:
  - 192
  - 195
  - 197
  - 198
  - 202
  - 205
  - 206
  - 211
  - 215
  - 216
  - 217
  - 218
  jupyter_server.auth.login.LegacyLoginHandler.get_user_cookie:
  - 229
  - 230
  - 231
  - 232
  - 233
  jupyter_server.auth.login.LegacyLoginHandler.get_user_token:
  - 257
  - 258
  - 260
  - 261
  - 238
  - 240
  - 243
  - 245
  - 247
  - 253
  jupyter_server.auth.login.LegacyLoginHandler.hashed_password:
  - 111
  jupyter_server.auth.login.LegacyLoginHandler.is_token_authenticated:
  - 184
  - 185
  - 187
  - 188
  jupyter_server.auth.login.LegacyLoginHandler.passwd_check:
  - 114
  - 115
  jupyter_server.auth.login.LegacyLoginHandler.password_from_settings:
  - 288
  - 289
  jupyter_server.auth.login.LegacyLoginHandler.post:
  - 128
  - 129
  - 130
  - 131
  - 133
  - 135
  - 137
  - 138
  - 141
  - 142
  - 119
  - 120
  - 121
  - 123
  - 124
  - 125
  - 126
  - 127
  jupyter_server.auth.login.LegacyLoginHandler.set_login_cookie:
  - 146
  - 147
  - 148
  - 151
  - 152
  - 153
  - 154
  jupyter_server.auth.login.LegacyLoginHandler.should_check_origin:
  - 179
  - 180
  jupyter_server.auth.login.LegacyLoginHandler.validate_security:
  - 270
  - 271
  - 273
  - 274
  - 275
  - 276
  - 280
  - 281
  jupyter_server.auth.login.LoginFormHandler:
  - 18
  jupyter_server.auth.login.LoginFormHandler._redirect_safe:
  - 64
  - 34
  - 67
  - 68
  - 70
  - 71
  - 40
  - 72
  - 74
  - 76
  - 45
  - 53
  - 54
  - 55
  - 56
  - 60
  jupyter_server.auth.login.LoginFormHandler._render:
  - 24
  - 25
  - 26
  - 28
  jupyter_server.auth.login.LoginFormHandler.get:
  - 80
  - 81
  - 82
  - 83
  - 85
  jupyter_server.auth.login.LoginFormHandler.post:
  - 96
  - 97
  - 98
  - 99
  - 89
  - 90
  - 91
  - 92
  - 93
  jupyter_server.auth.logout:
  - 1
  jupyter_server.auth.logout.LogoutHandler:
  - 10
  jupyter_server.auth.logout.LogoutHandler.get:
  - 16
  - 20
  - 14
  - 15
  jupyter_server.auth.security:
  - 1
  jupyter_server.auth.security.passwd:
  - 64
  - 69
  - 73
  - 74
  - 75
  - 77
  - 49
  - 50
  - 51
  - 52
  - 53
  - 24
  - 56
  - 61
  jupyter_server.auth.security.passwd_check:
  - 128
  - 131
  - 133
  - 107
  - 111
  - 81
  - 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.call_context:
  - 1
  jupyter_server.base.call_context.CallContext:
  - 25
  - 10
  jupyter_server.base.call_context.CallContext._get_map:
  - 81
  - 85
  - 86
  - 87
  - 88
  jupyter_server.base.call_context.CallContext.context_variable_names:
  - 77
  - 76
  - 69
  jupyter_server.base.call_context.CallContext.get:
  - 43
  - 44
  - 29
  jupyter_server.base.call_context.CallContext.set:
  - 65
  - 50
  - 63
  jupyter_server.base.handlers:
  - 1
  - 46
  jupyter_server.base.handlers.APIHandler:
  - 750
  jupyter_server.base.handlers.APIHandler.content_security_policy:
  - 791
  jupyter_server.base.handlers.APIHandler.finish:
  - 813
  - 814
  - 816
  - 817
  - 818
  jupyter_server.base.handlers.APIHandler.get_login_url:
  - 785
  - 787
  - 781
  jupyter_server.base.handlers.APIHandler.options:
  - 833
  - 841
  - 844
  - 846
  - 855
  - 822
  - 823
  - 824
  - 858
  - 829
  jupyter_server.base.handlers.APIHandler.prepare:
  - 753
  - 754
  - 755
  jupyter_server.base.handlers.APIHandler.update_api_activity:
  - 803
  - 805
  - 807
  - 808
  - 810
  jupyter_server.base.handlers.APIHandler.write_error:
  - 768
  - 777
  - 778
  - 759
  - 760
  - 761
  - 765
  - 766
  jupyter_server.base.handlers.APIVersionHandler:
  - 1071
  jupyter_server.base.handlers.APIVersionHandler.get:
  - 1077
  - 1079
  jupyter_server.base.handlers.AuthenticatedFileHandler:
  - 871
  jupyter_server.base.handlers.AuthenticatedFileHandler.compute_etag:
  - 926
  jupyter_server.base.handlers.AuthenticatedFileHandler.content_security_policy:
  - 879
  jupyter_server.base.handlers.AuthenticatedFileHandler.get:
  - 896
  - 897
  - 899
  - 893
  - 894
  - 895
  jupyter_server.base.handlers.AuthenticatedFileHandler.get_content_type:
  - 902
  - 904
  - 905
  - 906
  - 909
  - 912
  - 913
  - 916
  jupyter_server.base.handlers.AuthenticatedFileHandler.head:
  - 884
  - 885
  - 886
  jupyter_server.base.handlers.AuthenticatedFileHandler.set_headers:
  - 920
  - 922
  - 923
  - 919
  jupyter_server.base.handlers.AuthenticatedFileHandler.validate_absolute_path:
  - 930
  - 936
  - 937
  - 939
  - 940
  jupyter_server.base.handlers.AuthenticatedHandler:
  - 84
  jupyter_server.base.handlers.AuthenticatedHandler.authorizer:
  - 231
  - 232
  - 245
  - 246
  - 250
  jupyter_server.base.handlers.AuthenticatedHandler.base_url:
  - 88
  jupyter_server.base.handlers.AuthenticatedHandler.clear_login_cookie:
  - 152
  - 153
  - 160
  jupyter_server.base.handlers.AuthenticatedHandler.content_security_policy:
  - 96
  - 100
  - 98
  - 92
  jupyter_server.base.handlers.AuthenticatedHandler.cookie_name:
  - 138
  - 131
  jupyter_server.base.handlers.AuthenticatedHandler.force_clear_cookie:
  - 141
  - 142
  - 149
  jupyter_server.base.handlers.AuthenticatedHandler.get_current_user:
  - 176
  - 169
  - 163
  - 171
  jupyter_server.base.handlers.AuthenticatedHandler.identity_provider:
  - 268
  - 269
  - 271
  - 254
  - 255
  jupyter_server.base.handlers.AuthenticatedHandler.logged_in:
  - 200
  - 198
  jupyter_server.base.handlers.AuthenticatedHandler.login_available:
  - 227
  - 221
  jupyter_server.base.handlers.AuthenticatedHandler.login_handler:
  - 204
  - 205
  jupyter_server.base.handlers.AuthenticatedHandler.set_default_headers:
  - 110
  - 113
  - 118
  - 120
  - 125
  jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin:
  - 186
  - 181
  - 189
  jupyter_server.base.handlers.AuthenticatedHandler.token:
  - 216
  jupyter_server.base.handlers.AuthenticatedHandler.token_authenticated:
  - 193
  - 194
  jupyter_server.base.handlers.FileFindHandler:
  - 982
  jupyter_server.base.handlers.FileFindHandler.compute_etag:
  - 1026
  jupyter_server.base.handlers.FileFindHandler.get:
  - 1033
  jupyter_server.base.handlers.FileFindHandler.get_absolute_path:
  - 1048
  - 1043
  - 1045
  - 1055
  jupyter_server.base.handlers.FileFindHandler.head:
  - 1039
  jupyter_server.base.handlers.FileFindHandler.initialize:
  - 1016
  - 1019
  - 1022
  jupyter_server.base.handlers.FileFindHandler.set_headers:
  - 995
  - 996
  - 998
  - 1001
  - 1002
  - 1005
  - 1006
  - 1008
  jupyter_server.base.handlers.FileFindHandler.validate_absolute_path:
  - 1059
  - 1060
  - 1063
  - 1064
  - 1067
  jupyter_server.base.handlers.FilesRedirectHandler:
  - 1115
  jupyter_server.base.handlers.FilesRedirectHandler.get:
  - 1148
  jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files:
  - 1124
  - 1126
  - 1130
  - 1132
  - 1135
  - 1136
  - 1137
  - 1139
  - 1142
  - 1143
  - 1144
  - 1119
  jupyter_server.base.handlers.JupyterHandler:
  - 275
  jupyter_server.base.handlers.JupyterHandler.allow_credentials:
  - 382
  - 383
  jupyter_server.base.handlers.JupyterHandler.allow_origin:
  - 372
  - 373
  jupyter_server.base.handlers.JupyterHandler.allow_origin_pat:
  - 377
  - 378
  jupyter_server.base.handlers.JupyterHandler.check_host:
  - 577
  - 580
  - 584
  - 585
  - 555
  - 559
  - 563
  - 565
  - 568
  - 572
  - 573
  jupyter_server.base.handlers.JupyterHandler.check_origin:
  - 455
  - 458
  - 459
  - 462
  - 466
  - 467
  - 436
  - 468
  - 469
  - 473
  - 474
  - 443
  - 446
  - 447
  jupyter_server.base.handlers.JupyterHandler.check_referer:
  - 513
  - 514
  - 483
  - 519
  - 520
  - 491
  - 494
  - 495
  - 497
  - 498
  - 500
  - 501
  - 504
  - 506
  - 511
  jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie:
  - 544
  - 545
  - 546
  - 529
  - 530
  - 533
  - 538
  - 540
  - 542
  jupyter_server.base.handlers.JupyterHandler.config:
  - 282
  jupyter_server.base.handlers.JupyterHandler.config_manager:
  - 360
  jupyter_server.base.handlers.JupyterHandler.contents_js_source:
  - 328
  - 330
  - 332
  jupyter_server.base.handlers.JupyterHandler.contents_manager:
  - 344
  jupyter_server.base.handlers.JupyterHandler.default_url:
  - 320
  jupyter_server.base.handlers.JupyterHandler.event_logger:
  - 364
  jupyter_server.base.handlers.JupyterHandler.get_json_body:
  - 705
  - 706
  - 708
  - 697
  - 698
  - 701
  - 703
  jupyter_server.base.handlers.JupyterHandler.get_origin:
  - 427
  - 428
  - 430
  jupyter_server.base.handlers.JupyterHandler.get_template:
  - 664
  - 663
  jupyter_server.base.handlers.JupyterHandler.jinja_template_vars:
  - 291
  - 292
  jupyter_server.base.handlers.JupyterHandler.kernel_manager:
  - 340
  jupyter_server.base.handlers.JupyterHandler.kernel_spec_manager:
  - 356
  jupyter_server.base.handlers.JupyterHandler.log:
  - 286
  - 287
  jupyter_server.base.handlers.JupyterHandler.mathjax_config:
  - 316
  jupyter_server.base.handlers.JupyterHandler.mathjax_url:
  - 312
  - 309
  - 310
  jupyter_server.base.handlers.JupyterHandler.prepare:
  - 641
  - 642
  - 643
  - 646
  - 650
  - 651
  - 656
  - 597
  - 599
  - 601
  - 607
  - 611
  - 615
  - 621
  - 623
  - 624
  - 634
  - 635
  - 636
  - 638
  - 639
  jupyter_server.base.handlers.JupyterHandler.prepare.<lambda1>:
  - 646
  jupyter_server.base.handlers.JupyterHandler.render_template:
  - 667
  - 668
  - 669
  - 670
  jupyter_server.base.handlers.JupyterHandler.serverapp:
  - 296
  jupyter_server.base.handlers.JupyterHandler.session_manager:
  - 348
  jupyter_server.base.handlers.JupyterHandler.set_attachment_header:
  - 416
  - 417
  - 412
  jupyter_server.base.handlers.JupyterHandler.set_cors_headers:
  - 390
  - 395
  - 396
  - 397
  - 398
  - 399
  - 400
  - 401
  - 406
  - 408
  - 409
  jupyter_server.base.handlers.JupyterHandler.set_default_headers:
  - 386
  - 387
  jupyter_server.base.handlers.JupyterHandler.template_namespace:
  - 674
  - 679
  - 682
  - 684
  - 689
  - 690
  - 691
  jupyter_server.base.handlers.JupyterHandler.terminal_manager:
  - 352
  jupyter_server.base.handlers.JupyterHandler.version_hash:
  - 304
  - 305
  jupyter_server.base.handlers.JupyterHandler.write_error:
  - 739
  - 742
  - 711
  - 712
  - 744
  - 714
  - 746
  - 716
  - 725
  - 726
  jupyter_server.base.handlers.JupyterHandler.ws_url:
  - 324
  jupyter_server.base.handlers.MainHandler:
  - 1103
  jupyter_server.base.handlers.MainHandler.get:
  - 1107
  - 1108
  - 1109
  jupyter_server.base.handlers.PrometheusMetricsHandler:
  - 1168
  jupyter_server.base.handlers.PrometheusMetricsHandler.get:
  - 1178
  - 1179
  - 1174
  - 1175
  jupyter_server.base.handlers.PublicStaticFileHandler:
  - 1183
  jupyter_server.base.handlers.PublicStaticFileHandler.get:
  - 1191
  jupyter_server.base.handlers.PublicStaticFileHandler.head:
  - 1187
  jupyter_server.base.handlers.RedirectWithParams:
  - 1152
  jupyter_server.base.handlers.RedirectWithParams.get:
  - 1161
  - 1163
  - 1164
  jupyter_server.base.handlers.RedirectWithParams.initialize:
  - 1155
  jupyter_server.base.handlers.Template404:
  - 862
  jupyter_server.base.handlers.Template404.prepare:
  - 865
  - 866
  jupyter_server.base.handlers.TrailingSlashHandler:
  - 1083
  jupyter_server.base.handlers.TrailingSlashHandler.get:
  - 1090
  - 1092
  - 1095
  - 1096
  - 1097
  jupyter_server.base.handlers.json_errors:
  - 948
  - 965
  - 959
  jupyter_server.base.handlers.json_errors.wrapper:
  - 968
  - 967
  jupyter_server.base.handlers.json_sys_info:
  - 68
  - 70
  - 71
  jupyter_server.base.handlers.log:
  - 76
  - 77
  - 78
  jupyter_server.base.websocket:
  - 1
  jupyter_server.base.websocket.WebSocketMixin:
  - 19
  jupyter_server.base.websocket.WebSocketMixin._maybe_auth:
  - 96
  - 97
  - 99
  - 100
  - 104
  - 105
  - 92
  jupyter_server.base.websocket.WebSocketMixin.check_origin:
  - 64
  - 65
  - 68
  - 72
  - 74
  - 75
  - 46
  - 79
  - 80
  - 51
  - 52
  - 56
  - 57
  - 58
  - 61
  jupyter_server.base.websocket.WebSocketMixin.clear_cookie:
  - 88
  jupyter_server.base.websocket.WebSocketMixin.on_pong:
  - 166
  - 167
  jupyter_server.base.websocket.WebSocketMixin.open:
  - 130
  - 131
  - 132
  - 134
  - 138
  - 139
  - 126
  - 127
  jupyter_server.base.websocket.WebSocketMixin.ping_interval:
  - 32
  - 28
  jupyter_server.base.websocket.WebSocketMixin.ping_timeout:
  - 40
  - 41
  - 36
  jupyter_server.base.websocket.WebSocketMixin.prepare:
  - 110
  - 111
  - 112
  - 113
  - 114
  - 120
  - 121
  - 122
  jupyter_server.base.websocket.WebSocketMixin.send_ping:
  - 162
  - 143
  - 144
  - 145
  - 148
  - 149
  - 154
  - 157
  - 158
  - 159
  jupyter_server.base.zmqhandlers:
  - 16
  - 1
  jupyter_server.config_manager:
  - 1
  jupyter_server.config_manager.BaseJSONConfigManager:
  - 61
  - 62
  - 55
  jupyter_server.config_manager.BaseJSONConfigManager.directory:
  - 77
  - 78
  jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists:
  - 65
  - 67
  - 69
  jupyter_server.config_manager.BaseJSONConfigManager.file_name:
  - 73
  - 74
  jupyter_server.config_manager.BaseJSONConfigManager.get:
  - 97
  - 98
  - 101
  - 104
  - 105
  - 106
  - 108
  - 110
  - 81
  - 89
  - 90
  - 91
  jupyter_server.config_manager.BaseJSONConfigManager.set:
  - 128
  - 114
  - 115
  - 116
  - 118
  - 120
  - 121
  - 122
  - 126
  - 127
  jupyter_server.config_manager.BaseJSONConfigManager.update:
  - 136
  - 137
  - 131
  - 135
  jupyter_server.config_manager.recursive_update:
  - 34
  - 35
  - 21
  - 25
  - 26
  - 27
  - 29
  - 30
  jupyter_server.config_manager.remove_defaults:
  - 42
  - 44
  - 45
  - 46
  - 47
  - 48
  - 50
  jupyter_server.extension.application:
  - 1
  jupyter_server.extension.application.ExtensionApp:
  - 262
  - 263
  - 264
  - 271
  - 273
  - 274
  - 153
  - 162
  - 197
  - 199
  - 203
  - 206
  - 214
  - 216
  - 232
  - 236
  - 243
  - 247
  - 253
  - 254
  - 127
  jupyter_server.extension.application.ExtensionApp._config_file_name_default:
  - 281
  - 278
  - 279
  jupyter_server.extension.application.ExtensionApp._default_log_format:
  - 238
  jupyter_server.extension.application.ExtensionApp._default_open_browser:
  - 165
  jupyter_server.extension.application.ExtensionApp._default_serverapp:
  - 219
  - 228
  - 221
  jupyter_server.extension.application.ExtensionApp._default_static_url_prefix:
  - 251
  jupyter_server.extension.application.ExtensionApp._jupyter_server_config:
  - 379
  - 371
  jupyter_server.extension.application.ExtensionApp._link_jupyter_server_extension:
  - 397
  - 404
  - 408
  - 412
  - 383
  jupyter_server.extension.application.ExtensionApp._load_jupyter_server_extension:
  - 464
  - 473
  - 474
  - 475
  jupyter_server.extension.application.ExtensionApp._prepare_config:
  - 296
  - 297
  - 293
  jupyter_server.extension.application.ExtensionApp._prepare_handlers:
  - 352
  - 322
  - 327
  - 360
  - 362
  - 331
  - 333
  - 338
  - 342
  - 347
  - 350
  jupyter_server.extension.application.ExtensionApp._prepare_settings:
  - 301
  - 305
  - 308
  - 316
  - 319
  jupyter_server.extension.application.ExtensionApp._prepare_templates:
  - 368
  - 365
  - 366
  - 367
  jupyter_server.extension.application.ExtensionApp._start_jupyter_server_extension:
  - 479
  jupyter_server.extension.application.ExtensionApp.config_file_paths:
  - 169
  jupyter_server.extension.application.ExtensionApp.current_activity:
  - 450
  jupyter_server.extension.application.ExtensionApp.get_extension_package:
  - 184
  - 186
  - 182
  - 183
  jupyter_server.extension.application.ExtensionApp.get_extension_point:
  - 191
  jupyter_server.extension.application.ExtensionApp.initialize:
  - 417
  - 426
  - 434
  - 435
  - 436
  - 437
  jupyter_server.extension.application.ExtensionApp.initialize_handlers:
  - 287
  jupyter_server.extension.application.ExtensionApp.initialize_server:
  - 583
  - 590
  - 592
  - 593
  - 596
  - 597
  - 598
  jupyter_server.extension.application.ExtensionApp.initialize_settings:
  - 284
  jupyter_server.extension.application.ExtensionApp.initialize_templates:
  - 290
  jupyter_server.extension.application.ExtensionApp.launch_instance:
  - 612
  - 619
  - 620
  - 621
  - 627
  - 628
  - 631
  - 632
  - 635
  - 607
  jupyter_server.extension.application.ExtensionApp.load_classic_server_extension:
  - 492
  - 493
  - 495
  - 496
  - 497
  - 499
  - 569
  jupyter_server.extension.application.ExtensionApp.make_serverapp:
  - 579
  - 575
  jupyter_server.extension.application.ExtensionApp.start:
  - 440
  - 444
  - 447
  jupyter_server.extension.application.ExtensionApp.stop:
  - 457
  - 459
  - 460
  jupyter_server.extension.application.ExtensionApp.stop_extension:
  - 454
  jupyter_server.extension.application.ExtensionAppJinjaMixin:
  - 83
  - 85
  - 86
  jupyter_server.extension.application.ExtensionAppJinjaMixin._prepare_templates:
  - 97
  - 98
  - 101
  - 102
  - 109
  - 94
  - 95
  jupyter_server.extension.application.JupyterServerExtensionException:
  - 118
  jupyter_server.extension.application._preparse_for_stopping_flags:
  - 64
  - 65
  - 66
  - 67
  - 70
  - 71
  - 72
  - 73
  - 76
  - 77
  - 46
  - 78
  - 79
  - 59
  jupyter_server.extension.application._preparse_for_subcommand:
  - 35
  - 38
  - 40
  - 41
  - 29
  - 31
  jupyter_server.extension.config:
  - 1
  jupyter_server.extension.config.ExtensionConfigManager:
  - 9
  jupyter_server.extension.config.ExtensionConfigManager.disable:
  - 34
  - 36
  jupyter_server.extension.config.ExtensionConfigManager.enable:
  - 29
  - 31
  jupyter_server.extension.config.ExtensionConfigManager.enabled:
  - 21
  - 22
  jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions:
  - 17
  - 18
  - 15
  jupyter_server.extension.handler:
  - 1
  - 13
  jupyter_server.extension.handler.ExtensionHandlerJinjaMixin:
  - 21
  jupyter_server.extension.handler.ExtensionHandlerJinjaMixin.get_template:
  - 32
  - 26
  - 29
  jupyter_server.extension.handler.ExtensionHandlerMixin:
  - 36
  jupyter_server.extension.handler.ExtensionHandlerMixin.base_url:
  - 84
  jupyter_server.extension.handler.ExtensionHandlerMixin.config:
  - 76
  jupyter_server.extension.handler.ExtensionHandlerMixin.extensionapp:
  - 57
  jupyter_server.extension.handler.ExtensionHandlerMixin.initialize:
  - 51
  jupyter_server.extension.handler.ExtensionHandlerMixin.log:
  - 72
  - 66
  - 67
  - 70
  jupyter_server.extension.handler.ExtensionHandlerMixin.render_template:
  - 97
  - 98
  - 87
  - 93
  - 94
  - 95
  jupyter_server.extension.handler.ExtensionHandlerMixin.server_config:
  - 80
  jupyter_server.extension.handler.ExtensionHandlerMixin.serverapp:
  - 62
  jupyter_server.extension.handler.ExtensionHandlerMixin.static_path:
  - 106
  jupyter_server.extension.handler.ExtensionHandlerMixin.static_url:
  - 129
  - 138
  - 140
  - 109
  - 141
  - 144
  - 154
  - 127
  jupyter_server.extension.manager:
  - 1
  jupyter_server.extension.manager.ExtensionManager:
  - 320
  - 289
  - 295
  - 304
  - 278
  - 285
  - 287
  jupyter_server.extension.manager.ExtensionManager._config_manager_changed:
  - 297
  - 298
  jupyter_server.extension.manager.ExtensionManager._load_config_manager:
  - 352
  - 353
  - 351
  jupyter_server.extension.manager.ExtensionManager._load_default_config_manager:
  - 291
  - 292
  jupyter_server.extension.manager.ExtensionManager.add_extension:
  - 361
  - 370
  - 372
  - 365
  jupyter_server.extension.manager.ExtensionManager.any_activity:
  - 464
  - 465
  - 466
  - 467
  jupyter_server.extension.manager.ExtensionManager.extension_apps:
  - 330
  - 332
  - 333
  jupyter_server.extension.manager.ExtensionManager.extension_points:
  - 338
  - 341
  - 342
  jupyter_server.extension.manager.ExtensionManager.from_config_manager:
  - 346
  jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions:
  - 356
  - 357
  - 358
  jupyter_server.extension.manager.ExtensionManager.link_all_extensions:
  - 441
  - 442
  - 436
  jupyter_server.extension.manager.ExtensionManager.link_extension:
  - 385
  - 388
  - 390
  - 392
  - 394
  - 382
  - 383
  jupyter_server.extension.manager.ExtensionManager.load_all_extensions:
  - 450
  - 451
  - 445
  jupyter_server.extension.manager.ExtensionManager.load_extension:
  - 397
  - 398
  - 400
  - 402
  - 404
  - 406
  - 410
  jupyter_server.extension.manager.ExtensionManager.sorted_extensions:
  - 313
  - 314
  jupyter_server.extension.manager.ExtensionManager.start_all_extensions:
  - 457
  - 454
  jupyter_server.extension.manager.ExtensionManager.start_extension:
  - 416
  - 418
  - 420
  - 422
  - 426
  - 413
  - 414
  jupyter_server.extension.manager.ExtensionManager.stop_all_extensions:
  - 460
  - 461
  jupyter_server.extension.manager.ExtensionManager.stop_extension:
  - 429
  - 430
  - 431
  - 432
  - 433
  jupyter_server.extension.manager.ExtensionPackage:
  - 195
  - 196
  - 198
  - 199
  - 200
  - 201
  - 202
  - 209
  - 187
  jupyter_server.extension.manager.ExtensionPackage.__init__:
  - 216
  - 217
  - 218
  - 219
  jupyter_server.extension.manager.ExtensionPackage._load_metadata:
  - 237
  - 228
  - 236
  - 222
  jupyter_server.extension.manager.ExtensionPackage._load_version:
  - 211
  - 213
  jupyter_server.extension.manager.ExtensionPackage.link_all_points:
  - 264
  - 265
  - 263
  jupyter_server.extension.manager.ExtensionPackage.link_point:
  - 248
  - 250
  - 246
  - 247
  jupyter_server.extension.manager.ExtensionPackage.load_all_points:
  - 268
  - 269
  jupyter_server.extension.manager.ExtensionPackage.load_point:
  - 253
  - 255
  jupyter_server.extension.manager.ExtensionPackage.start_all_points:
  - 272
  - 273
  - 274
  jupyter_server.extension.manager.ExtensionPackage.start_point:
  - 258
  - 260
  jupyter_server.extension.manager.ExtensionPackage.validate:
  - 242
  - 243
  jupyter_server.extension.manager.ExtensionPoint:
  - 34
  - 19
  - 23
  - 24
  - 26
  - 28
  - 30
  jupyter_server.extension.manager.ExtensionPoint._default_log:
  - 32
  jupyter_server.extension.manager.ExtensionPoint._get_linker:
  - 112
  - 117
  - 108
  - 109
  jupyter_server.extension.manager.ExtensionPoint._get_loader:
  - 122
  - 124
  - 126
  jupyter_server.extension.manager.ExtensionPoint._get_starter:
  - 130
  - 131
  - 138
  jupyter_server.extension.manager.ExtensionPoint._valid_metadata:
  - 54
  - 36
  - 46
  - 55
  jupyter_server.extension.manager.ExtensionPoint.app:
  - 71
  jupyter_server.extension.manager.ExtensionPoint.config:
  - 76
  - 77
  - 78
  jupyter_server.extension.manager.ExtensionPoint.link:
  - 163
  - 164
  - 165
  - 158
  jupyter_server.extension.manager.ExtensionPoint.linked:
  - 65
  - 60
  jupyter_server.extension.manager.ExtensionPoint.load:
  - 176
  - 170
  - 175
  jupyter_server.extension.manager.ExtensionPoint.module:
  - 104
  jupyter_server.extension.manager.ExtensionPoint.module_name:
  - 86
  jupyter_server.extension.manager.ExtensionPoint.name:
  - 98
  - 100
  - 93
  jupyter_server.extension.manager.ExtensionPoint.start:
  - 179
  - 182
  - 183
  jupyter_server.extension.manager.ExtensionPoint.validate:
  - 148
  - 150
  - 151
  jupyter_server.extension.serverextension:
  - 416
  - 1
  - 417
  - 77
  - 78
  - 79
  - 80
  - 183
  - 120
  - 185
  - 186
  - 184
  jupyter_server.extension.serverextension.BaseExtensionApp:
  - 132
  - 131
  - 124
  - 133
  jupyter_server.extension.serverextension.BaseExtensionApp._log_format_default:
  - 136
  jupyter_server.extension.serverextension.BaseExtensionApp.config_dir:
  - 141
  jupyter_server.extension.serverextension.DisableServerExtensionApp:
  - 319
  jupyter_server.extension.serverextension.EnableServerExtensionApp:
  - 304
  jupyter_server.extension.serverextension.ListServerExtensionsApp:
  - 334
  jupyter_server.extension.serverextension.ListServerExtensionsApp.list_server_extensions:
  - 352
  - 353
  - 355
  - 357
  - 359
  - 360
  - 362
  - 364
  - 365
  - 366
  - 370
  - 372
  - 341
  - 373
  - 375
  - 351
  jupyter_server.extension.serverextension.ListServerExtensionsApp.start:
  - 378
  - 379
  jupyter_server.extension.serverextension.ServerExtensionApp:
  - 390
  jupyter_server.extension.serverextension.ServerExtensionApp.start:
  - 409
  - 410
  - 404
  - 405
  jupyter_server.extension.serverextension.ToggleServerExtensionApp:
  - 237
  - 230
  jupyter_server.extension.serverextension.ToggleServerExtensionApp.start:
  - 296
  - 297
  - 298
  - 299
  - 300
  jupyter_server.extension.serverextension.ToggleServerExtensionApp.toggle_server_extension:
  - 288
  - 258
  - 259
  - 291
  - 261
  - 293
  - 264
  - 265
  - 266
  - 242
  - 275
  - 276
  - 280
  - 284
  - 285
  - 254
  - 286
  jupyter_server.extension.serverextension._get_config_dir:
  - 34
  - 36
  - 37
  - 38
  - 23
  jupyter_server.extension.serverextension._get_extmanager_for_context:
  - 64
  - 66
  - 48
  - 61
  - 62
  jupyter_server.extension.serverextension.toggle_server_extension_python:
  - 163
  - 167
  - 168
  - 170
  - 172
  - 173
  - 175
  jupyter_server.extension.utils:
  - 1
  jupyter_server.extension.utils.ExtensionLoadingError:
  - 9
  jupyter_server.extension.utils.ExtensionMetadataError:
  - 13
  jupyter_server.extension.utils.ExtensionModuleNotFound:
  - 17
  jupyter_server.extension.utils.NotAnExtensionApp:
  - 21
  jupyter_server.extension.utils.get_loader:
  - 25
  - 42
  jupyter_server.extension.utils.get_metadata:
  - 64
  - 65
  - 66
  - 99
  - 100
  - 71
  - 73
  - 76
  - 84
  - 85
  - 86
  - 55
  jupyter_server.extension.utils.validate_extension:
  - 121
  - 110
  jupyter_server.files.handlers:
  - 1
  - 17
  jupyter_server.files.handlers.FilesHandler:
  - 24
  jupyter_server.files.handlers.FilesHandler.content_security_policy:
  - 36
  - 39
  jupyter_server.files.handlers.FilesHandler.get:
  - 52
  - 54
  - 57
  - 58
  - 61
  - 62
  - 63
  - 67
  - 69
  - 70
  - 73
  - 74
  - 76
  - 77
  - 78
  - 80
  - 81
  - 82
  - 83
  - 84
  - 85
  - 86
  - 87
  - 89
  - 91
  - 92
  - 93
  - 94
  - 96
  - 97
  jupyter_server.files.handlers.FilesHandler.head:
  - 44
  - 45
  - 46
  - 47
  jupyter_server.gateway.connections:
  - 1
  jupyter_server.gateway.connections.GatewayWebSocketConnection:
  - 33
  - 38
  - 25
  - 27
  - 29
  - 31
  jupyter_server.gateway.connections.GatewayWebSocketConnection._connection_done:
  - 64
  - 65
  - 66
  - 68
  - 70
  - 72
  - 74
  jupyter_server.gateway.connections.GatewayWebSocketConnection._get_message_summary:
  - 164
  - 167
  - 169
  - 170
  - 171
  - 172
  - 173
  - 180
  - 182
  jupyter_server.gateway.connections.GatewayWebSocketConnection._read_messages:
  - 129
  - 130
  - 131
  - 89
  - 92
  - 94
  - 96
  - 99
  - 100
  - 101
  - 103
  - 104
  - 105
  - 112
  - 113
  - 115
  - 116
  - 117
  - 122
  - 126
  jupyter_server.gateway.connections.GatewayWebSocketConnection._write_message:
  - 160
  - 155
  - 157
  - 158
  jupyter_server.gateway.connections.GatewayWebSocketConnection.connect:
  - 41
  - 44
  - 45
  - 46
  - 47
  - 50
  - 51
  - 52
  - 54
  - 56
  - 57
  - 58
  - 60
  - 61
  jupyter_server.gateway.connections.GatewayWebSocketConnection.connect.<lambda1>:
  - 61
  jupyter_server.gateway.connections.GatewayWebSocketConnection.disconnect:
  - 78
  - 80
  - 82
  - 83
  - 85
  - 86
  jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_incoming_message:
  - 147
  - 148
  - 149
  - 150
  - 152
  jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_incoming_message.<lambda1>:
  - 150
  jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_outgoing_message:
  - 134
  - 136
  - 138
  - 139
  - 140
  - 142
  jupyter_server.gateway.gateway_client:
  - 1
  jupyter_server.gateway.gateway_client.GatewayClient:
  - 129
  - 385
  - 260
  - 133
  - 516
  - 264
  - 394
  - 143
  - 273
  - 401
  - 277
  - 409
  - 154
  - 537
  - 286
  - 161
  - 290
  - 418
  - 299
  - 173
  - 429
  - 305
  - 179
  - 436
  - 185
  - 314
  - 191
  - 319
  - 447
  - 454
  - 199
  - 333
  - 206
  - 462
  - 338
  - 468
  - 215
  - 90
  - 476
  - 222
  - 350
  - 97
  - 99
  - 228
  - 355
  - 484
  - 503
  - 234
  - 363
  - 238
  - 495
  - 369
  - 116
  - 247
  - 376
  - 251
  jupyter_server.gateway.gateway_client.GatewayClient.__init__:
  - 544
  - 545
  - 547
  jupyter_server.gateway.gateway_client.GatewayClient._accept_cookies_default:
  - 505
  - 506
  jupyter_server.gateway.gateway_client.GatewayClient._allowed_envs_default:
  - 396
  - 398
  jupyter_server.gateway.gateway_client.GatewayClient._auth_header_key_default:
  - 335
  jupyter_server.gateway.gateway_client.GatewayClient._auth_scheme_default:
  - 365
  jupyter_server.gateway.gateway_client.GatewayClient._auth_token_default:
  - 352
  jupyter_server.gateway.gateway_client.GatewayClient._ca_certs_default:
  - 275
  jupyter_server.gateway.gateway_client.GatewayClient._clear_expired_cookies:
  - 672
  - 673
  - 674
  - 677
  - 678
  - 680
  - 681
  - 668
  - 669
  jupyter_server.gateway.gateway_client.GatewayClient._client_cert_default:
  - 262
  jupyter_server.gateway.gateway_client.GatewayClient._client_key_default:
  - 249
  jupyter_server.gateway.gateway_client.GatewayClient._connect_timeout_default:
  - 224
  jupyter_server.gateway.gateway_client.GatewayClient._default_event_logger:
  - 106
  - 109
  - 108
  - 101
  jupyter_server.gateway.gateway_client.GatewayClient._deprecated_trait:
  - 518
  - 521
  - 522
  - 526
  - 530
  jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_interval_default:
  - 420
  - 421
  jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_interval_max_default:
  - 438
  - 439
  jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_max_default:
  - 456
  jupyter_server.gateway.gateway_client.GatewayClient._gateway_token_renewer_class_default:
  - 470
  jupyter_server.gateway.gateway_client.GatewayClient._headers_default:
  - 316
  jupyter_server.gateway.gateway_client.GatewayClient._http_pwd_default:
  - 301
  jupyter_server.gateway.gateway_client.GatewayClient._http_user_default:
  - 288
  jupyter_server.gateway.gateway_client.GatewayClient._kernels_endpoint_default:
  - 181
  jupyter_server.gateway.gateway_client.GatewayClient._kernelspecs_endpoint_default:
  - 193
  jupyter_server.gateway.gateway_client.GatewayClient._kernelspecs_resource_endpoint_default:
  - 208
  jupyter_server.gateway.gateway_client.GatewayClient._launch_timeout_pad_default:
  - 486
  - 487
  jupyter_server.gateway.gateway_client.GatewayClient._request_timeout_default:
  - 236
  jupyter_server.gateway.gateway_client.GatewayClient._update_cookie_header:
  - 684
  - 685
  - 687
  - 688
  - 690
  - 691
  - 695
  - 696
  - 699
  - 702
  jupyter_server.gateway.gateway_client.GatewayClient._url_default:
  - 131
  jupyter_server.gateway.gateway_client.GatewayClient._url_validate:
  - 137
  - 139
  jupyter_server.gateway.gateway_client.GatewayClient._validate_cert_default:
  - 378
  - 379
  jupyter_server.gateway.gateway_client.GatewayClient._ws_url_default:
  - 156
  - 157
  - 158
  jupyter_server.gateway.gateway_client.GatewayClient._ws_url_validate:
  - 165
  - 167
  jupyter_server.gateway.gateway_client.GatewayClient.emit:
  - 113
  - 114
  jupyter_server.gateway.gateway_client.GatewayClient.gateway_enabled:
  - 534
  jupyter_server.gateway.gateway_client.GatewayClient.init_connection_args:
  - 580
  - 583
  - 553
  - 585
  - 587
  - 560
  - 562
  - 564
  - 565
  - 569
  - 571
  - 572
  - 573
  - 574
  jupyter_server.gateway.gateway_client.GatewayClient.load_connection_args:
  - 614
  - 615
  - 616
  - 617
  - 618
  - 620
  - 591
  - 626
  - 595
  - 596
  - 627
  - 600
  - 602
  - 606
  jupyter_server.gateway.gateway_client.GatewayClient.update_cookies:
  - 640
  - 641
  - 644
  - 645
  - 646
  - 648
  - 650
  - 653
  - 654
  - 656
  - 660
  - 661
  - 663
  - 632
  - 634
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase:
  - 52
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase.get_token:
  - 67
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerMeta:
  - 46
  jupyter_server.gateway.gateway_client.NoOpTokenRenewer:
  - 74
  jupyter_server.gateway.gateway_client.NoOpTokenRenewer.get_token:
  - 85
  jupyter_server.gateway.gateway_client.RetryableHTTPClient:
  - 718
  - 710
  - 719
  jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__:
  - 728
  - 726
  jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch:
  - 739
  - 744
  - 746
  - 747
  - 749
  - 753
  jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable:
  - 769
  - 773
  - 757
  - 759
  - 761
  - 765
  - 767
  jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch:
  - 736
  - 731
  jupyter_server.gateway.gateway_client.gateway_request:
  - 800
  - 832
  - 802
  - 803
  - 804
  - 835
  - 806
  - 842
  - 779
  - 780
  - 781
  - 782
  - 814
  - 784
  - 785
  - 843
  - 823
  - 793
  jupyter_server.gateway.handlers:
  - 1
  - 28
  - 36
  jupyter_server.gateway.handlers.GatewayResourceHandler:
  - 288
  jupyter_server.gateway.handlers.GatewayResourceHandler.get:
  - 292
  - 295
  - 298
  - 299
  - 304
  - 305
  jupyter_server.gateway.handlers.GatewayWebSocketClient:
  - 157
  jupyter_server.gateway.handlers.GatewayWebSocketClient.__init__:
  - 160
  - 161
  - 164
  jupyter_server.gateway.handlers.GatewayWebSocketClient._connect:
  - 169
  - 173
  - 176
  - 179
  - 182
  - 184
  - 186
  - 187
  - 188
  - 190
  - 191
  jupyter_server.gateway.handlers.GatewayWebSocketClient._connect.<lambda1>:
  - 191
  jupyter_server.gateway.handlers.GatewayWebSocketClient._connection_done:
  - 194
  - 195
  - 196
  - 198
  - 200
  - 202
  - 204
  jupyter_server.gateway.handlers.GatewayWebSocketClient._disconnect:
  - 208
  - 210
  - 212
  - 213
  - 215
  - 216
  jupyter_server.gateway.handlers.GatewayWebSocketClient._read_messages:
  - 224
  - 257
  - 226
  - 258
  - 259
  - 229
  - 230
  - 231
  - 233
  - 240
  - 241
  - 243
  - 244
  - 245
  - 254
  - 250
  - 219
  - 222
  jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message:
  - 280
  - 275
  - 277
  - 278
  jupyter_server.gateway.handlers.GatewayWebSocketClient.on_close:
  - 283
  - 284
  jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message:
  - 267
  - 268
  - 269
  - 270
  - 272
  jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message.<lambda1>:
  - 270
  jupyter_server.gateway.handlers.GatewayWebSocketClient.on_open:
  - 264
  - 262
  - 263
  jupyter_server.gateway.handlers.WebSocketChannelsHandler:
  - 40
  jupyter_server.gateway.handlers.WebSocketChannelsHandler._get_message_summary:
  - 135
  - 138
  - 140
  - 141
  - 142
  - 143
  - 144
  - 151
  - 153
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.authenticate:
  - 66
  - 67
  - 70
  - 72
  - 74
  - 60
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.check_origin:
  - 48
  - 49
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.get:
  - 83
  - 84
  - 87
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.get_compression_options:
  - 55
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.initialize:
  - 80
  - 77
  - 78
  - 79
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.on_close:
  - 128
  - 130
  - 131
  - 127
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.on_message:
  - 112
  - 110
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.open:
  - 98
  - 99
  - 100
  - 103
  - 106
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.send_ping:
  - 90
  - 91
  - 92
  - 95
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.set_default_headers:
  - 52
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.write_message:
  - 115
  - 116
  - 117
  - 119
  - 120
  - 121
  - 122
  jupyter_server.gateway.managers:
  - 593
  - 1
  - 36
  - 881
  jupyter_server.gateway.managers.ChannelQueue:
  - 597
  jupyter_server.gateway.managers.ChannelQueue.__init__:
  - 603
  - 604
  jupyter_server.gateway.managers.ChannelQueue._async_get:
  - 611
  - 612
  - 613
  - 614
  - 617
  - 621
  - 623
  - 626
  - 628
  jupyter_server.gateway.managers.ChannelQueue.get_msg:
  - 640
  - 641
  - 631
  - 632
  - 633
  - 634
  jupyter_server.gateway.managers.ChannelQueue.is_alive:
  - 683
  jupyter_server.gateway.managers.ChannelQueue.send:
  - 652
  - 644
  - 645
  - 646
  jupyter_server.gateway.managers.ChannelQueue.serialize_datetime:
  - 656
  - 657
  - 658
  jupyter_server.gateway.managers.ChannelQueue.start:
  - 662
  jupyter_server.gateway.managers.ChannelQueue.stop:
  - 672
  - 673
  - 674
  - 675
  - 677
  - 678
  - 679
  - 665
  - 666
  - 671
  jupyter_server.gateway.managers.GatewayKernelClient:
  - 697
  jupyter_server.gateway.managers.GatewayKernelClient.__init__:
  - 724
  - 725
  jupyter_server.gateway.managers.GatewayKernelClient._route_responses:
  - 864
  - 870
  - 871
  - 875
  - 878
  - 848
  - 858
  - 859
  - 861
  jupyter_server.gateway.managers.GatewayKernelClient.control_channel:
  - 840
  - 842
  - 838
  - 839
  jupyter_server.gateway.managers.GatewayKernelClient.hb_channel:
  - 827
  - 828
  - 829
  - 831
  jupyter_server.gateway.managers.GatewayKernelClient.iopub_channel:
  - 809
  - 805
  - 806
  - 807
  jupyter_server.gateway.managers.GatewayKernelClient.shell_channel:
  - 794
  - 795
  - 796
  - 798
  jupyter_server.gateway.managers.GatewayKernelClient.start_channels:
  - 768
  - 737
  - 769
  - 744
  - 745
  - 746
  - 747
  - 752
  - 753
  - 754
  - 757
  - 759
  - 764
  - 765
  jupyter_server.gateway.managers.GatewayKernelClient.stdin_channel:
  - 816
  - 817
  - 818
  - 820
  jupyter_server.gateway.managers.GatewayKernelClient.stop_channels:
  - 772
  - 777
  - 779
  - 782
  - 784
  - 786
  - 787
  jupyter_server.gateway.managers.GatewayKernelManager:
  - 544
  - 386
  - 527
  - 561
  - 407
  - 408
  - 473
  - 381
  jupyter_server.gateway.managers.GatewayKernelManager.__init__:
  - 391
  - 392
  - 393
  - 394
  - 400
  jupyter_server.gateway.managers.GatewayKernelManager.cleanup_resources:
  - 590
  jupyter_server.gateway.managers.GatewayKernelManager.client:
  - 417
  - 418
  - 427
  - 428
  - 415
  jupyter_server.gateway.managers.GatewayKernelManager.has_kernel:
  - 404
  jupyter_server.gateway.managers.GatewayKernelManager.interrupt_kernel:
  - 576
  - 565
  - 566
  - 569
  - 570
  - 574
  jupyter_server.gateway.managers.GatewayKernelManager.is_alive:
  - 579
  - 580
  - 582
  - 583
  - 586
  jupyter_server.gateway.managers.GatewayKernelManager.refresh_model:
  - 451
  - 452
  - 454
  - 455
  - 459
  - 431
  - 464
  - 439
  - 440
  - 442
  - 445
  - 446
  jupyter_server.gateway.managers.GatewayKernelManager.restart_kernel:
  - 548
  - 549
  - 552
  - 553
  - 557
  - 559
  jupyter_server.gateway.managers.GatewayKernelManager.shutdown_kernel:
  - 531
  - 533
  - 534
  - 536
  - 537
  - 539
  - 540
  jupyter_server.gateway.managers.GatewayKernelManager.start_kernel:
  - 517
  - 519
  - 520
  - 523
  - 524
  - 525
  - 477
  - 485
  - 487
  - 488
  - 489
  - 492
  - 493
  - 495
  - 496
  - 501
  - 502
  - 506
  - 509
  - 511
  jupyter_server.gateway.managers.GatewayKernelSpecManager:
  - 216
  jupyter_server.gateway.managers.GatewayKernelSpecManager.__init__:
  - 225
  - 226
  - 227
  - 228
  - 219
  - 220
  - 221
  - 222
  jupyter_server.gateway.managers.GatewayKernelSpecManager._get_endpoint_for_user_filter:
  - 233
  - 234
  - 235
  jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url:
  - 265
  - 270
  - 271
  jupyter_server.gateway.managers.GatewayKernelSpecManager._replace_path_kernelspec_resources:
  - 257
  - 258
  - 240
  - 244
  - 247
  - 249
  - 251
  - 252
  - 253
  jupyter_server.gateway.managers.GatewayKernelSpecManager.get_all_specs:
  - 288
  - 294
  - 276
  - 277
  - 283
  - 286
  - 287
  jupyter_server.gateway.managers.GatewayKernelSpecManager.get_kernel_spec:
  - 322
  - 327
  - 307
  - 314
  - 315
  - 317
  - 319
  jupyter_server.gateway.managers.GatewayKernelSpecManager.get_kernel_spec_resource:
  - 332
  - 341
  - 342
  - 344
  - 346
  - 348
  jupyter_server.gateway.managers.GatewayKernelSpecManager.list_kernel_specs:
  - 298
  - 299
  - 300
  - 301
  - 302
  - 303
  jupyter_server.gateway.managers.GatewayMappingKernelManager:
  - 41
  - 50
  - 46
  jupyter_server.gateway.managers.GatewayMappingKernelManager.__init__:
  - 56
  - 57
  - 58
  - 55
  jupyter_server.gateway.managers.GatewayMappingKernelManager.cull_kernels:
  - 210
  - 211
  - 212
  jupyter_server.gateway.managers.GatewayMappingKernelManager.interrupt_kernel:
  - 199
  - 198
  - 191
  jupyter_server.gateway.managers.GatewayMappingKernelManager.kernel_model:
  - 97
  - 106
  - 107
  jupyter_server.gateway.managers.GatewayMappingKernelManager.list_kernels:
  - 160
  - 129
  - 161
  - 131
  - 132
  - 134
  - 112
  - 117
  - 118
  - 119
  - 150
  - 153
  - 123
  - 156
  - 125
  - 126
  - 159
  jupyter_server.gateway.managers.GatewayMappingKernelManager.remove_kernel:
  - 64
  - 62
  jupyter_server.gateway.managers.GatewayMappingKernelManager.restart_kernel:
  - 188
  - 187
  - 180
  jupyter_server.gateway.managers.GatewayMappingKernelManager.shutdown_all:
  - 202
  - 203
  - 204
  - 205
  - 206
  - 207
  jupyter_server.gateway.managers.GatewayMappingKernelManager.shutdown_kernel:
  - 176
  - 177
  - 164
  - 175
  jupyter_server.gateway.managers.GatewayMappingKernelManager.start_kernel:
  - 69
  - 81
  - 83
  - 84
  - 86
  - 87
  - 91
  - 92
  jupyter_server.gateway.managers.GatewaySessionManager:
  - 360
  - 358
  jupyter_server.gateway.managers.GatewaySessionManager.kernel_culled:
  - 363
  - 373
  jupyter_server.gateway.managers.HBChannelQueue:
  - 688
  jupyter_server.gateway.managers.HBChannelQueue.is_beating:
  - 691
  - 693
  jupyter_server.i18n:
  - 24
  - 1
  - 13
  jupyter_server.i18n.cached_load:
  - 74
  - 79
  jupyter_server.i18n.combine_translations:
  - 96
  - 85
  - 89
  - 91
  - 92
  - 94
  jupyter_server.i18n.load:
  - 64
  - 60
  - 69
  - 62
  jupyter_server.i18n.parse_accept_lang_header:
  - 35
  - 40
  - 41
  - 42
  - 43
  - 45
  - 47
  - 48
  - 49
  - 51
  - 54
  - 55
  jupyter_server.kernelspecs.handlers:
  - 1
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler:
  - 17
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.get:
  - 32
  - 34
  - 37
  - 38
  - 42
  - 43
  - 44
  - 47
  - 52
  - 56
  - 57
  - 29
  - 31
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.head:
  - 62
  - 63
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.initialize:
  - 24
  - 23
  jupyter_server.log:
  - 1
  jupyter_server.log._scrub_uri:
  - 33
  - 35
  - 36
  - 37
  - 38
  - 41
  - 42
  - 43
  - 24
  - 26
  - 28
  - 29
  jupyter_server.log.log_request:
  - 96
  - 65
  - 98
  - 67
  - 100
  - 70
  - 103
  - 72
  - 104
  - 106
  - 107
  - 108
  - 77
  - 109
  - 48
  - 82
  - 58
  - 92
  jupyter_server.nbconvert.handlers:
  - 24
  - 1
  jupyter_server.nbconvert.handlers.NbconvertFileHandler:
  - 90
  jupyter_server.nbconvert.handlers.NbconvertFileHandler.get:
  - 130
  - 135
  - 136
  - 139
  - 142
  - 146
  - 147
  - 148
  - 151
  - 152
  - 154
  - 155
  - 98
  - 99
  - 100
  - 102
  - 105
  - 106
  - 107
  - 111
  - 113
  - 115
  - 119
  - 122
  - 123
  jupyter_server.nbconvert.handlers.NbconvertFileHandler.get.<lambda1>:
  - 136
  jupyter_server.nbconvert.handlers.NbconvertPostHandler:
  - 159
  jupyter_server.nbconvert.handlers.NbconvertPostHandler.post:
  - 192
  - 193
  - 195
  - 167
  - 168
  - 170
  - 172
  - 173
  - 176
  - 177
  - 188
  jupyter_server.nbconvert.handlers.NbconvertPostHandler.post.<lambda1>:
  - 177
  jupyter_server.nbconvert.handlers.find_resource_files:
  - 33
  - 34
  - 31
  jupyter_server.nbconvert.handlers.get_exporter:
  - 85
  - 83
  - 77
  - 69
  jupyter_server.nbconvert.handlers.respond_zip:
  - 64
  - 39
  - 45
  - 46
  - 50
  - 51
  - 52
  - 53
  - 56
  - 57
  - 58
  - 59
  - 60
  - 61
  - 62
  jupyter_server.prometheus.log_functions:
  - 1
  jupyter_server.prometheus.log_functions.prometheus_log_method:
  - 7
  - 22
  - 24
  - 25
  - 26
  jupyter_server.prometheus.metrics:
  - 1
  - 65
  - 68
  - 37
  - 43
  - 48
  - 18
  - 55
  - 56
  - 61
  jupyter_server.pytest_plugin:
  - 40
  - 1
  jupyter_server.pytest_plugin.jp_contents_manager:
  - 42
  - 43
  jupyter_server.pytest_plugin.jp_kernelspecs:
  - 32
  - 34
  - 36
  - 37
  - 24
  - 26
  - 27
  - 28
  - 30
  - 31
  jupyter_server.pytest_plugin.jp_large_contents_manager:
  - 48
  - 49
  jupyter_server.serverapp:
  - 1
  - 835
  - 836
  - 810
  - 844
  - 814
  - 846
  - 48
  - 818
  - 51
  - 822
  - 55
  jupyter_server.serverapp.JupyterPasswordApp:
  - 597
  jupyter_server.serverapp.JupyterPasswordApp._config_file_default:
  - 606
  - 607
  jupyter_server.serverapp.JupyterPasswordApp.start:
  - 610
  - 613
  - 614
  jupyter_server.serverapp.JupyterServerListApp:
  - 770
  - 773
  - 779
  - 782
  - 754
  - 757
  - 762
  - 766
  jupyter_server.serverapp.JupyterServerListApp.start:
  - 801
  - 803
  - 790
  - 791
  - 792
  - 793
  - 794
  - 795
  - 796
  - 798
  - 799
  jupyter_server.serverapp.JupyterServerStopApp:
  - 696
  - 690
  - 685
  jupyter_server.serverapp.JupyterServerStopApp._maybe_remove_unix_socket:
  - 720
  - 722
  jupyter_server.serverapp.JupyterServerStopApp._shutdown_or_exit:
  - 713
  - 714
  - 715
  - 716
  jupyter_server.serverapp.JupyterServerStopApp.parse_command_line:
  - 699
  - 700
  - 701
  - 703
  jupyter_server.serverapp.JupyterServerStopApp.shutdown_server:
  - 709
  - 710
  jupyter_server.serverapp.JupyterServerStopApp.start:
  - 727
  - 729
  - 730
  - 731
  - 732
  - 733
  - 734
  - 735
  - 736
  - 738
  - 740
  - 741
  - 742
  - 743
  - 746
  - 747
  - 748
  - 749
  - 750
  jupyter_server.serverapp.ServerApp:
  - 1540
  - 1549
  - 1038
  - 1550
  - 1045
  - 1048
  - 1563
  - 1565
  - 1569
  - 1570
  - 1572
  - 1065
  - 1067
  - 1070
  - 1584
  - 1585
  - 1587
  - 1076
  - 1079
  - 1592
  - 1085
  - 1089
  - 1602
  - 1091
  - 1608
  - 1097
  - 1612
  - 1615
  - 1618
  - 1621
  - 1627
  - 1629
  - 1632
  - 1121
  - 1124
  - 1638
  - 1127
  - 1641
  - 1130
  - 1644
  - 1133
  - 1136
  - 1652
  - 1141
  - 1142
  - 1145
  - 1149
  - 1669
  - 1162
  - 1678
  - 1681
  - 1684
  - 1686
  - 1697
  - 1189
  - 1703
  - 1193
  - 1708
  - 1197
  - 1711
  - 1716
  - 1206
  - 1720
  - 1724
  - 1727
  - 1217
  - 1731
  - 1734
  - 1738
  - 1745
  - 1237
  - 1751
  - 1753
  - 1758
  - 1250
  - 1762
  - 1764
  - 1769
  - 1259
  - 1771
  - 1776
  - 1265
  - 1779
  - 1271
  - 1786
  - 1800
  - 1802
  - 1298
  - 1810
  - 1302
  - 1814
  - 1306
  - 1822
  - 1825
  - 1830
  - 1833
  - 1326
  - 1854
  - 1345
  - 1861
  - 1351
  - 1867
  - 1869
  - 1874
  - 1878
  - 1368
  - 1885
  - 1890
  - 1892
  - 871
  - 1895
  - 875
  - 1904
  - 882
  - 883
  - 1907
  - 1910
  - 1401
  - 1913
  - 1916
  - 1920
  - 1923
  - 1926
  - 1930
  - 1419
  - 1420
  - 909
  - 1933
  - 1936
  - 913
  - 1940
  - 917
  - 1430
  - 1943
  - 921
  - 1946
  - 1950
  - 1441
  - 1953
  - 1956
  - 1960
  - 1452
  - 1455
  - 945
  - 947
  - 1974
  - 951
  - 1976
  - 1470
  - 959
  - 1472
  - 963
  - 1988
  - 1477
  - 968
  - 1480
  - 1992
  - 2000
  - 979
  - 1492
  - 1493
  - 1495
  - 1498
  - 1500
  - 2012
  - 1502
  - 2013
  - 1504
  - 994
  - 1507
  - 997
  - 1511
  - 1000
  - 1514
  - 1003
  - 2029
  - 1006
  - 2030
  - 1520
  - 1009
  - 1522
  - 1012
  - 1525
  - 1014
  - 1527
  - 2040
  - 1017
  - 1530
  - 1020
  jupyter_server.serverapp.ServerApp._allow_unauthenticated_access_default:
  - 1347
  - 1348
  jupyter_server.serverapp.ServerApp._bind_http_server:
  - 2645
  - 2646
  - 2647
  - 2648
  - 2649
  - 2654
  jupyter_server.serverapp.ServerApp._bind_http_server_tcp:
  - 2678
  - 2679
  jupyter_server.serverapp.ServerApp._bind_http_server_unix:
  - 2657
  - 2658
  - 2659
  - 2663
  - 2664
  - 2666
  - 2667
  - 2669
  - 2670
  jupyter_server.serverapp.ServerApp._cleanup:
  - 3173
  - 3174
  - 3175
  - 3176
  - 3177
  - 3179
  - 3153
  - 3156
  - 3157
  - 3158
  - 3159
  - 3161
  jupyter_server.serverapp.ServerApp._confirm_exit:
  - 2455
  - 2463
  - 2465
  - 2466
  - 2469
  - 2471
  - 2472
  - 2473
  - 2474
  - 2475
  - 2476
  - 2477
  - 2478
  - 2479
  - 2480
  - 2483
  - 2486
  - 2490
  - 2491
  - 2496
  jupyter_server.serverapp.ServerApp._default_allow_remote:
  - 1378
  - 1381
  - 1385
  - 1387
  - 1393
  - 1370
  - 1374
  jupyter_server.serverapp.ServerApp._default_browser_open_file:
  - 1766
  - 1767
  jupyter_server.serverapp.ServerApp._default_browser_open_file_to_run:
  - 1773
  - 1774
  jupyter_server.serverapp.ServerApp._default_cookie_secret:
  - 1164
  - 1165
  - 1166
  - 1168
  - 1169
  - 1170
  - 1171
  - 1172
  jupyter_server.serverapp.ServerApp._default_cookie_secret_file:
  - 1147
  jupyter_server.serverapp.ServerApp._default_info_file:
  - 1755
  - 1756
  jupyter_server.serverapp.ServerApp._default_ip:
  - 1026
  - 1028
  - 1030
  - 1031
  - 1035
  - 1022
  jupyter_server.serverapp.ServerApp._default_kernel_manager_class:
  - 1623
  jupyter_server.serverapp.ServerApp._default_kernel_spec_manager_class:
  - 1699
  jupyter_server.serverapp.ServerApp._default_kernel_websocket_connection_class:
  - 1648
  jupyter_server.serverapp.ServerApp._default_log_format:
  - 953
  jupyter_server.serverapp.ServerApp._default_min_open_files_limit:
  - 1226
  - 1219
  - 1229
  - 1223
  jupyter_server.serverapp.ServerApp._default_root_dir:
  - 1835
  - 1837
  - 1839
  jupyter_server.serverapp.ServerApp._default_session_manager_class:
  - 1634
  jupyter_server.serverapp.ServerApp._default_static_custom_path:
  - 1567
  jupyter_server.serverapp.ServerApp._deprecated_cookie_config:
  - 1509
  jupyter_server.serverapp.ServerApp._deprecated_iopub_data_rate_limit:
  - 1948
  jupyter_server.serverapp.ServerApp._deprecated_iopub_msg_rate_limit:
  - 1938
  jupyter_server.serverapp.ServerApp._deprecated_kernel_ws_protocol:
  - 1918
  jupyter_server.serverapp.ServerApp._deprecated_limit_rate:
  - 1928
  jupyter_server.serverapp.ServerApp._deprecated_password:
  - 1300
  jupyter_server.serverapp.ServerApp._deprecated_password_config:
  - 1304
  jupyter_server.serverapp.ServerApp._deprecated_rate_limit_window:
  - 1958
  jupyter_server.serverapp.ServerApp._deprecated_token:
  - 1195
  jupyter_server.serverapp.ServerApp._deprecated_token_access:
  - 1199
  jupyter_server.serverapp.ServerApp._find_http_port:
  - 2688
  - 2689
  - 2691
  - 2692
  - 2693
  - 2694
  - 2697
  - 2699
  - 2701
  - 2703
  - 2710
  - 2711
  - 2712
  - 2713
  - 2719
  - 2720
  - 2726
  - 2683
  - 2686
  jupyter_server.serverapp.ServerApp._get_urlparts:
  - 2369
  - 2373
  - 2375
  - 2348
  - 2352
  - 2354
  - 2356
  - 2359
  - 2360
  - 2365
  jupyter_server.serverapp.ServerApp._handle_sigint:
  - 2448
  - 2434
  - 2443
  - 2446
  jupyter_server.serverapp.ServerApp._init_asyncio_patch:
  - 2730
  - 2740
  - 2749
  - 2751
  jupyter_server.serverapp.ServerApp._normalize_dir:
  - 1842
  - 1845
  - 1846
  - 1848
  - 1849
  - 1851
  jupyter_server.serverapp.ServerApp._port_default:
  - 1072
  jupyter_server.serverapp.ServerApp._port_retries_default:
  - 1087
  jupyter_server.serverapp.ServerApp._post_start:
  - 3207
  - 3205
  - 3199
  jupyter_server.serverapp.ServerApp._preferred_dir_validate:
  - 1880
  - 1881
  jupyter_server.serverapp.ServerApp._prepare_browser_open:
  - 3040
  - 3042
  - 3024
  - 3025
  - 3026
  - 3028
  - 3029
  - 3031
  - 3039
  jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir:
  - 2947
  - 2949
  - 2954
  - 2926
  - 2934
  - 2935
  - 2936
  - 2937
  - 2939
  - 2940
  - 2941
  jupyter_server.serverapp.ServerApp._restore_sigint_handler:
  - 2451
  - 2452
  jupyter_server.serverapp.ServerApp._root_dir_validate:
  - 1856
  - 1857
  jupyter_server.serverapp.ServerApp._signal_info:
  - 2510
  - 2511
  jupyter_server.serverapp.ServerApp._signal_stop:
  - 2506
  - 2499
  - 2507
  jupyter_server.serverapp.ServerApp._stop:
  - 3218
  - 3219
  - 3220
  - 3221
  jupyter_server.serverapp.ServerApp._update_base_url:
  - 1545
  - 1542
  - 1543
  jupyter_server.serverapp.ServerApp._update_notebook_dir:
  - 1804
  - 1807
  jupyter_server.serverapp.ServerApp._update_pylab:
  - 1793
  - 1794
  - 1798
  - 1788
  - 1790
  - 1791
  jupyter_server.serverapp.ServerApp._update_server_extensions:
  - 1887
  jupyter_server.serverapp.ServerApp._validate_ip:
  - 1040
  - 1041
  jupyter_server.serverapp.ServerApp._validate_sock_mode:
  - 1105
  - 1106
  - 1101
  - 1102
  jupyter_server.serverapp.ServerApp._warn_deprecated_config:
  - 1280
  - 1281
  - 1283
  - 1286
  - 1293
  - 1294
  jupyter_server.serverapp.ServerApp._write_browser_open_file:
  - 2958
  - 2959
  - 2960
  - 2961
  - 2964
  - 2965
  jupyter_server.serverapp.ServerApp._write_cookie_secret_file:
  - 1175
  - 1176
  - 1178
  - 1179
  - 1181
  - 1182
  jupyter_server.serverapp.ServerApp.cleanup_extensions:
  - 2861
  - 2862
  - 2864
  - 2865
  - 2868
  - 2869
  jupyter_server.serverapp.ServerApp.cleanup_kernels:
  - 2851
  - 2853
  - 2854
  - 2857
  - 2858
  - 2846
  jupyter_server.serverapp.ServerApp.connection_url:
  - 2414
  - 2415
  jupyter_server.serverapp.ServerApp.display_url:
  - 2408
  - 2404
  jupyter_server.serverapp.ServerApp.find_server_extensions:
  - 2532
  - 2533
  - 2535
  - 2536
  - 2537
  - 2538
  - 2518
  jupyter_server.serverapp.ServerApp.http_server:
  - 2607
  jupyter_server.serverapp.ServerApp.init_components:
  - 2514
  jupyter_server.serverapp.ServerApp.init_configurables:
  - 2182
  - 2184
  - 2073
  - 2076
  - 2078
  - 2082
  - 2088
  - 2092
  - 2098
  - 2108
  - 2109
  - 2111
  - 2112
  - 2114
  - 2115
  - 2120
  - 2121
  - 2127
  - 2128
  - 2134
  - 2140
  - 2148
  - 2155
  - 2157
  - 2159
  - 2163
  - 2165
  - 2170
  - 2171
  - 2174
  jupyter_server.serverapp.ServerApp.init_event_logger:
  - 2215
  - 2217
  - 2220
  - 2205
  - 2206
  jupyter_server.serverapp.ServerApp.init_httpserver:
  - 2631
  - 2640
  - 2641
  - 2642
  - 2619
  - 2623
  jupyter_server.serverapp.ServerApp.init_ioloop:
  - 3195
  - 3196
  jupyter_server.serverapp.ServerApp.init_logging:
  - 2202
  - 2195
  - 2189
  - 2199
  jupyter_server.serverapp.ServerApp.init_metrics:
  - 2754
  - 2757
  - 2759
  - 2760
  - 2761
  - 2765
  - 2767
  - 2768
  - 2769
  jupyter_server.serverapp.ServerApp.init_metrics.<lambda1>:
  - 2767
  jupyter_server.serverapp.ServerApp.init_metrics.<lambda2>:
  - 2769
  - 2770
  jupyter_server.serverapp.ServerApp.init_mime_overrides:
  - 2570
  - 2572
  - 2574
  - 2575
  jupyter_server.serverapp.ServerApp.init_resources:
  - 2337
  - 2338
  - 2340
  - 2343
  - 2327
  - 2328
  - 2329
  - 2334
  jupyter_server.serverapp.ServerApp.init_server_extensions:
  - 2549
  - 2541
  - 2550
  - 2551
  jupyter_server.serverapp.ServerApp.init_shutdown_no_activity:
  - 2596
  - 2597
  - 2598
  - 2602
  - 2603
  jupyter_server.serverapp.ServerApp.init_signal:
  - 2418
  - 2419
  - 2420
  - 2422
  - 2424
  - 2425
  - 2426
  - 2428
  - 2429
  - 2431
  jupyter_server.serverapp.ServerApp.init_webapp:
  - 2304
  - 2314
  - 2315
  - 2317
  - 2318
  - 2320
  - 2322
  - 2223
  - 2226
  - 2227
  - 2238
  - 2242
  - 2243
  - 2246
  - 2247
  - 2248
  - 2251
  - 2256
  - 2258
  - 2262
  - 2263
  - 2266
  - 2268
  - 2269
  - 2275
  - 2277
  - 2298
  - 2300
  - 2302
  jupyter_server.serverapp.ServerApp.initialize:
  - 2816
  - 2817
  - 2818
  - 2819
  - 2823
  - 2827
  - 2830
  - 2833
  - 2834
  - 2835
  - 2836
  - 2837
  - 2838
  - 2839
  - 2840
  - 2841
  - 2842
  - 2843
  - 2782
  - 2799
  - 2804
  - 2805
  - 2806
  - 2807
  - 2811
  - 2815
  jupyter_server.serverapp.ServerApp.launch_browser:
  - 3047
  - 3053
  - 3055
  - 3058
  - 3061
  - 3067
  jupyter_server.serverapp.ServerApp.launch_browser.target:
  - 3065
  jupyter_server.serverapp.ServerApp.load_server_extensions:
  - 2561
  - 2554
  jupyter_server.serverapp.ServerApp.local_url:
  - 2400
  - 2395
  - 2397
  - 2399
  jupyter_server.serverapp.ServerApp.parse_command_line:
  - 2052
  - 2053
  - 2055
  - 2057
  - 2058
  - 2059
  - 2060
  - 2061
  - 2065
  - 2066
  - 2068
  - 2070
  jupyter_server.serverapp.ServerApp.public_url:
  - 2382
  - 2384
  - 2386
  - 2388
  - 2390
  - 2391
  jupyter_server.serverapp.ServerApp.remove_browser_open_file:
  - 3018
  - 3020
  - 3013
  jupyter_server.serverapp.ServerApp.remove_browser_open_files:
  - 3000
  - 3009
  - 3005
  - 3007
  jupyter_server.serverapp.ServerApp.remove_server_info_file:
  - 2920
  - 2922
  - 2915
  jupyter_server.serverapp.ServerApp.running_server_info:
  - 2880
  - 2883
  - 2885
  - 2872
  - 2873
  - 2874
  - 2875
  - 2876
  jupyter_server.serverapp.ServerApp.server_info:
  - 2891
  - 2897
  - 2900
  - 2901
  - 2902
  jupyter_server.serverapp.ServerApp.shutdown_no_activity:
  - 2593
  - 2578
  - 2580
  - 2583
  - 2586
  - 2587
  - 2588
  - 2589
  jupyter_server.serverapp.ServerApp.start:
  - 3210
  - 3214
  - 3215
  jupyter_server.serverapp.ServerApp.start_app:
  - 3073
  - 3076
  - 3079
  - 3080
  - 3081
  - 3083
  - 3086
  - 3087
  - 3088
  - 3089
  - 3093
  - 3094
  - 3095
  - 3103
  - 3105
  - 3106
  - 3109
  - 3110
  - 3112
  - 3115
  - 3116
  - 3117
  - 3131
  - 3134
  - 3150
  - 3070
  - 3071
  jupyter_server.serverapp.ServerApp.start_ioloop:
  - 3182
  - 3183
  - 3186
  - 3187
  - 3189
  - 3190
  - 3192
  jupyter_server.serverapp.ServerApp.starter_app:
  - 2048
  jupyter_server.serverapp.ServerApp.static_file_path:
  - 1560
  jupyter_server.serverapp.ServerApp.stop:
  - 3233
  - 3234
  - 3236
  - 3224
  - 3227
  - 3229
  - 3230
  jupyter_server.serverapp.ServerApp.template_file_path:
  - 1581
  jupyter_server.serverapp.ServerApp.write_browser_open_file:
  - 2994
  - 2996
  - 2989
  - 2997
  jupyter_server.serverapp.ServerApp.write_browser_open_files:
  - 2977
  - 2979
  - 2981
  - 2982
  - 2985
  - 2986
  - 2968
  - 2973
  jupyter_server.serverapp.ServerApp.write_server_info_file:
  - 2912
  - 2907
  - 2909
  - 2910
  jupyter_server.serverapp.ServerWebApplication:
  - 240
  jupyter_server.serverapp.ServerWebApplication.__init__:
  - 324
  - 265
  - 266
  - 267
  - 304
  - 273
  - 275
  - 276
  - 307
  - 308
  - 310
  - 316
  - 313
  - 282
  - 315
  - 284
  jupyter_server.serverapp.ServerWebApplication._check_handler_auth:
  - 565
  - 566
  - 568
  - 569
  - 570
  - 571
  jupyter_server.serverapp.ServerWebApplication.add_handlers:
  - 328
  - 329
  - 334
  - 336
  - 339
  - 341
  - 347
  jupyter_server.serverapp.ServerWebApplication.init_handlers:
  - 512
  - 515
  - 517
  - 519
  - 530
  - 534
  - 535
  - 536
  - 537
  - 539
  - 485
  - 489
  - 490
  - 494
  - 495
  - 497
  - 498
  - 499
  - 510
  jupyter_server.serverapp.ServerWebApplication.init_settings:
  - 384
  - 386
  - 388
  - 389
  - 391
  - 394
  - 396
  - 402
  - 404
  - 407
  - 408
  - 410
  - 414
  - 423
  - 438
  - 477
  - 479
  - 371
  - 372
  - 376
  - 378
  - 381
  - 383
  jupyter_server.serverapp.ServerWebApplication.last_activity:
  - 555
  - 556
  - 558
  - 559
  - 543
  jupyter_server.serverapp._has_tornado_web_authenticated:
  - 578
  - 583
  - 585
  - 588
  - 590
  - 591
  - 592
  jupyter_server.serverapp.list_running_servers:
  - 3266
  - 3267
  - 3271
  - 3273
  - 3242
  - 3274
  - 3248
  - 3249
  - 3252
  - 3255
  - 3256
  - 3257
  - 3260
  jupyter_server.serverapp.load_handlers:
  - 229
  - 230
  jupyter_server.serverapp.random_ports:
  - 224
  - 225
  - 217
  - 222
  - 223
  jupyter_server.serverapp.shutdown_server:
  - 643
  - 645
  - 646
  - 647
  - 648
  - 656
  - 657
  - 658
  - 659
  - 661
  - 663
  - 666
  - 667
  - 668
  - 671
  - 672
  - 673
  - 674
  - 676
  - 678
  - 679
  - 680
  - 618
  - 633
  - 634
  - 635
  - 636
  jupyter_server.services.api.handlers:
  - 1
  jupyter_server.services.api.handlers.APISpecHandler:
  - 22
  jupyter_server.services.api.handlers.APISpecHandler.get:
  - 40
  - 38
  - 39
  jupyter_server.services.api.handlers.APISpecHandler.get_content_type:
  - 43
  jupyter_server.services.api.handlers.APISpecHandler.head:
  - 33
  jupyter_server.services.api.handlers.APISpecHandler.initialize:
  - 27
  - 28
  jupyter_server.services.api.handlers.APIStatusHandler:
  - 48
  jupyter_server.services.api.handlers.APIStatusHandler.get:
  - 67
  - 70
  - 56
  - 58
  - 59
  - 61
  - 62
  - 63
  jupyter_server.services.api.handlers.IdentityHandler:
  - 74
  jupyter_server.services.api.handlers.IdentityHandler.get:
  - 96
  - 97
  - 98
  - 103
  - 104
  - 105
  - 107
  - 108
  - 78
  - 79
  - 81
  - 113
  - 83
  - 86
  - 118
  - 94
  - 95
  jupyter_server.services.api.handlers.IdentityHandler.patch:
  - 129
  - 133
  - 134
  - 135
  - 122
  - 123
  - 124
  jupyter_server.services.config.handlers:
  - 1
  jupyter_server.services.config.handlers.ConfigHandler:
  - 17
  jupyter_server.services.config.handlers.ConfigHandler.get:
  - 24
  - 25
  - 26
  jupyter_server.services.config.handlers.ConfigHandler.patch:
  - 40
  - 41
  - 42
  - 39
  jupyter_server.services.config.handlers.ConfigHandler.put:
  - 32
  - 33
  - 34
  - 31
  jupyter_server.services.config.manager:
  - 1
  jupyter_server.services.config.manager.ConfigManager:
  - 43
  - 45
  - 16
  - 49
  - 18
  - 51
  - 55
  - 57
  - 61
  jupyter_server.services.config.manager.ConfigManager._default_read_config_path:
  - 47
  jupyter_server.services.config.manager.ConfigManager._default_write_config_dir:
  - 53
  jupyter_server.services.config.manager.ConfigManager._default_write_config_manager:
  - 59
  jupyter_server.services.config.manager.ConfigManager._update_write_config_dir:
  - 63
  jupyter_server.services.config.manager.ConfigManager.get:
  - 25
  - 28
  - 29
  - 30
  jupyter_server.services.config.manager.ConfigManager.set:
  - 34
  - 35
  jupyter_server.services.config.manager.ConfigManager.update:
  - 38
  - 39
  jupyter_server.services.contents.checkpoints:
  - 1
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints:
  - 147
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.create_checkpoint:
  - 152
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.delete_all_checkpoints:
  - 177
  - 178
  - 179
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.delete_checkpoint:
  - 164
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.list_checkpoints:
  - 168
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.rename_all_checkpoints:
  - 172
  - 173
  - 174
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.rename_checkpoint:
  - 160
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.restore_checkpoint:
  - 156
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin:
  - 183
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_checkpoint:
  - 192
  - 196
  - 197
  - 189
  - 191
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_file_checkpoint:
  - 219
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_notebook_checkpoint:
  - 226
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_file_checkpoint:
  - 233
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_notebook_checkpoint:
  - 246
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.restore_checkpoint:
  - 206
  - 207
  - 209
  - 210
  - 211
  - 212
  - 215
  jupyter_server.services.contents.checkpoints.Checkpoints:
  - 12
  jupyter_server.services.contents.checkpoints.Checkpoints.create_checkpoint:
  - 25
  jupyter_server.services.contents.checkpoints.Checkpoints.delete_all_checkpoints:
  - 50
  - 51
  - 52
  jupyter_server.services.contents.checkpoints.Checkpoints.delete_checkpoint:
  - 37
  jupyter_server.services.contents.checkpoints.Checkpoints.list_checkpoints:
  - 41
  jupyter_server.services.contents.checkpoints.Checkpoints.rename_all_checkpoints:
  - 45
  - 46
  - 47
  jupyter_server.services.contents.checkpoints.Checkpoints.rename_checkpoint:
  - 33
  jupyter_server.services.contents.checkpoints.Checkpoints.restore_checkpoint:
  - 29
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin:
  - 56
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_checkpoint:
  - 78
  - 80
  - 81
  - 85
  - 86
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_file_checkpoint:
  - 107
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_notebook_checkpoint:
  - 114
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_file_checkpoint:
  - 121
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_notebook_checkpoint:
  - 134
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.restore_checkpoint:
  - 96
  - 97
  - 98
  - 99
  - 100
  - 103
  - 95
  jupyter_server.services.contents.filecheckpoints:
  - 1
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model:
  - 155
  - 156
  - 157
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.create_checkpoint:
  - 141
  - 143
  - 144
  - 145
  - 146
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.delete_checkpoint:
  - 179
  - 180
  - 181
  - 182
  - 183
  - 185
  - 186
  - 187
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.list_checkpoints:
  - 194
  - 196
  - 197
  - 200
  - 190
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.rename_checkpoint:
  - 166
  - 167
  - 168
  - 169
  - 170
  - 175
  - 176
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.restore_checkpoint:
  - 152
  - 149
  - 150
  - 151
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints:
  - 270
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.create_file_checkpoint:
  - 276
  - 277
  - 280
  - 281
  - 282
  - 283
  - 286
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.create_notebook_checkpoint:
  - 289
  - 290
  - 293
  - 294
  - 295
  - 296
  - 299
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.get_file_checkpoint:
  - 320
  - 321
  - 322
  - 324
  - 325
  - 327
  - 319
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.get_notebook_checkpoint:
  - 302
  - 303
  - 304
  - 305
  - 307
  - 308
  - 312
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints:
  - 26
  - 34
  - 45
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints._root_dir_default:
  - 48
  - 49
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model:
  - 125
  - 126
  - 127
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path:
  - 107
  - 108
  - 109
  - 110
  - 111
  - 113
  - 114
  - 116
  - 117
  - 118
  - 119
  - 120
  - 121
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.create_checkpoint:
  - 54
  - 56
  - 57
  - 58
  - 59
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.delete_checkpoint:
  - 82
  - 83
  - 84
  - 85
  - 86
  - 88
  - 89
  - 90
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.list_checkpoints:
  - 97
  - 99
  - 100
  - 103
  - 93
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.rename_checkpoint:
  - 69
  - 70
  - 71
  - 72
  - 73
  - 78
  - 79
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.restore_checkpoint:
  - 64
  - 65
  - 62
  - 63
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints:
  - 204
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.create_file_checkpoint:
  - 210
  - 211
  - 214
  - 215
  - 216
  - 217
  - 220
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.create_notebook_checkpoint:
  - 224
  - 227
  - 228
  - 229
  - 230
  - 233
  - 223
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.get_file_checkpoint:
  - 256
  - 258
  - 259
  - 261
  - 253
  - 254
  - 255
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.get_notebook_checkpoint:
  - 236
  - 237
  - 238
  - 239
  - 241
  - 242
  - 246
  jupyter_server.services.contents.fileio:
  - 1
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin:
  - 461
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._copy:
  - 466
  - 470
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file:
  - 577
  - 547
  - 579
  - 550
  - 551
  - 553
  - 557
  - 528
  - 562
  - 565
  - 570
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook:
  - 480
  - 494
  - 496
  - 503
  - 504
  - 505
  - 506
  - 475
  - 476
  - 479
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file:
  - 583
  - 584
  - 590
  - 591
  - 593
  - 594
  - 598
  - 599
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook:
  - 513
  - 514
  - 515
  - 516
  jupyter_server.services.contents.fileio.FileManagerMixin:
  - 200
  - 217
  - 225
  jupyter_server.services.contents.fileio.FileManagerMixin._copy:
  - 274
  - 270
  jupyter_server.services.contents.fileio.FileManagerMixin._get_hash:
  - 376
  - 377
  - 362
  - 378
  jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path:
  - 295
  - 297
  - 299
  - 303
  - 277
  - 311
  jupyter_server.services.contents.fileio.FileManagerMixin._read_file:
  - 417
  - 420
  - 425
  - 432
  - 402
  - 435
  - 405
  - 406
  - 408
  - 412
  - 383
  jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook:
  - 322
  - 335
  - 337
  - 344
  - 345
  - 346
  - 347
  - 318
  - 319
  jupyter_server.services.contents.fileio.FileManagerMixin._save_file:
  - 448
  - 449
  - 451
  - 452
  - 456
  - 457
  - 441
  - 442
  jupyter_server.services.contents.fileio.FileManagerMixin._save_notebook:
  - 352
  - 353
  - 354
  jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing:
  - 240
  - 243
  - 245
  - 246
  - 247
  - 249
  - 250
  jupyter_server.services.contents.fileio.FileManagerMixin.open:
  - 234
  - 235
  - 236
  jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403:
  - 256
  - 258
  - 262
  - 264
  - 254
  jupyter_server.services.contents.fileio._simple_writing:
  - 193
  - 162
  - 196
  - 180
  - 181
  - 183
  - 185
  - 186
  - 188
  - 191
  jupyter_server.services.contents.fileio.async_copy2_safe:
  - 66
  - 68
  - 70
  - 71
  - 57
  - 61
  - 62
  - 63
  jupyter_server.services.contents.fileio.async_replace_file:
  - 33
  - 34
  jupyter_server.services.contents.fileio.atomic_writing:
  - 130
  - 132
  - 133
  - 135
  - 137
  - 138
  - 140
  - 143
  - 146
  - 147
  - 151
  - 152
  - 153
  - 156
  - 157
  - 90
  - 112
  - 113
  - 116
  - 117
  - 120
  - 121
  - 123
  - 125
  - 127
  jupyter_server.services.contents.fileio.copy2_safe:
  - 38
  - 43
  - 44
  - 45
  - 48
  - 50
  - 52
  - 53
  jupyter_server.services.contents.fileio.path_to_intermediate:
  - 75
  - 78
  - 79
  jupyter_server.services.contents.fileio.path_to_invalid:
  - 83
  - 84
  - 85
  jupyter_server.services.contents.fileio.replace_file:
  - 28
  - 29
  jupyter_server.services.contents.filemanager:
  - 1
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager:
  - 746
  - 748
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._copy_dir:
  - 1156
  - 1157
  - 1158
  - 1159
  - 1161
  - 1151
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model:
  - 770
  - 773
  - 774
  - 776
  - 778
  - 782
  - 785
  - 786
  - 787
  - 788
  - 791
  - 792
  - 793
  - 794
  - 796
  - 800
  - 801
  - 803
  - 806
  - 807
  - 753
  - 757
  - 761
  - 763
  - 764
  - 767
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model:
  - 832
  - 833
  - 836
  - 837
  - 838
  - 845
  - 818
  - 850
  - 851
  - 852
  - 853
  - 829
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size:
  - 1189
  - 1193
  - 1198
  - 1202
  - 1203
  - 1204
  - 1206
  - 1208
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._human_readable_size:
  - 1216
  - 1219
  - 1223
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model:
  - 865
  - 868
  - 870
  - 873
  - 876
  - 878
  - 879
  - 880
  - 881
  - 858
  - 863
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory:
  - 935
  - 936
  - 938
  - 939
  - 940
  - 941
  - 944
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.check_folder_size:
  - 1176
  - 1170
  - 1179
  - 1178
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.copy:
  - 1124
  - 1126
  - 1127
  - 1130
  - 1133
  - 1134
  - 1136
  - 1105
  - 1137
  - 1138
  - 1141
  - 1113
  - 1114
  - 1115
  - 1116
  - 1118
  - 1119
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file:
  - 1028
  - 1030
  - 1032
  - 1037
  - 1039
  - 1041
  - 1042
  - 1043
  - 1045
  - 1046
  - 1047
  - 996
  - 997
  - 998
  - 1001
  - 1004
  - 1018
  - 1019
  - 1022
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir:
  - 1008
  - 1011
  - 1012
  - 1013
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists:
  - 1080
  - 1081
  - 1082
  - 1083
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists:
  - 1088
  - 1089
  - 1086
  - 1087
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get:
  - 928
  - 931
  - 909
  - 911
  - 914
  - 915
  - 916
  - 886
  - 922
  - 923
  - 924
  - 926
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get_kernel_path:
  - 1098
  - 1099
  - 1101
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden:
  - 1092
  - 1093
  - 1094
  - 1095
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file:
  - 1056
  - 1057
  - 1059
  - 1060
  - 1065
  - 1070
  - 1071
  - 1050
  - 1051
  - 1052
  - 1053
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save:
  - 947
  - 948
  - 950
  - 952
  - 954
  - 957
  - 958
  - 962
  - 963
  - 964
  - 965
  - 967
  - 968
  - 969
  - 971
  - 972
  - 973
  - 979
  - 983
  - 984
  - 985
  - 987
  - 988
  - 991
  - 992
  jupyter_server.services.contents.filemanager.FileContentsManager:
  - 126
  - 100
  - 70
  - 104
  - 48
  - 112
  - 50
  - 52
  - 54
  - 122
  - 60
  - 94
  jupyter_server.services.contents.filemanager.FileContentsManager._base_model:
  - 257
  - 259
  - 260
  - 229
  - 230
  - 231
  - 264
  - 235
  - 236
  - 272
  - 243
  - 247
  - 253
  - 254
  jupyter_server.services.contents.filemanager.FileContentsManager._copy_dir:
  - 672
  - 673
  - 674
  - 676
  - 666
  - 671
  jupyter_server.services.contents.filemanager.FileContentsManager._default_preferred_dir:
  - 72
  - 76
  - 81
  - 82
  - 88
  - 89
  jupyter_server.services.contents.filemanager.FileContentsManager._default_root_dir:
  - 56
  - 57
  jupyter_server.services.contents.filemanager.FileContentsManager._dir_model:
  - 279
  - 283
  - 287
  - 289
  - 290
  - 293
  - 296
  - 299
  - 301
  - 303
  - 307
  - 310
  - 311
  - 312
  - 313
  - 316
  - 317
  - 318
  - 319
  - 321
  - 325
  - 326
  - 328
  - 331
  - 332
  jupyter_server.services.contents.filemanager.FileContentsManager._file_model:
  - 354
  - 357
  - 358
  - 361
  - 362
  - 363
  - 370
  - 343
  - 376
  - 377
  - 378
  - 375
  jupyter_server.services.contents.filemanager.FileContentsManager._get_dir_size:
  - 704
  - 708
  - 710
  - 716
  - 722
  - 723
  - 725
  jupyter_server.services.contents.filemanager.FileContentsManager._human_readable_size:
  - 736
  - 740
  - 733
  jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model:
  - 390
  - 392
  - 395
  - 397
  - 400
  - 403
  - 405
  - 406
  - 407
  - 408
  - 383
  jupyter_server.services.contents.filemanager.FileContentsManager._save_directory:
  - 467
  - 468
  - 470
  - 471
  - 472
  - 473
  - 476
  jupyter_server.services.contents.filemanager.FileContentsManager._validate_preferred_dir:
  - 97
  - 98
  jupyter_server.services.contents.filemanager.FileContentsManager._validate_root_dir:
  - 65
  - 66
  - 63
  jupyter_server.services.contents.filemanager.FileContentsManager.check_folder_size:
  - 690
  - 692
  - 685
  - 694
  jupyter_server.services.contents.filemanager.FileContentsManager.copy:
  - 641
  - 643
  - 644
  - 647
  - 650
  - 651
  - 653
  - 622
  - 654
  - 655
  - 658
  - 630
  - 631
  - 632
  - 633
  - 635
  - 636
  jupyter_server.services.contents.filemanager.FileContentsManager.delete_file:
  - 576
  - 577
  - 578
  - 574
  - 553
  - 554
  - 568
  - 559
  - 561
  - 531
  - 532
  - 533
  - 563
  - 536
  - 570
  - 540
  - 573
  - 572
  jupyter_server.services.contents.filemanager.FileContentsManager.delete_file.is_non_empty_dir:
  - 544
  - 547
  - 548
  jupyter_server.services.contents.filemanager.FileContentsManager.dir_exists:
  - 206
  - 205
  - 190
  - 207
  jupyter_server.services.contents.filemanager.FileContentsManager.exists:
  - 224
  - 225
  - 210
  - 226
  jupyter_server.services.contents.filemanager.FileContentsManager.file_exists:
  - 185
  - 186
  - 171
  - 187
  jupyter_server.services.contents.filemanager.FileContentsManager.get:
  - 448
  - 454
  - 455
  - 456
  - 458
  - 460
  - 463
  - 436
  - 437
  - 440
  - 443
  - 444
  - 413
  - 447
  jupyter_server.services.contents.filemanager.FileContentsManager.get_kernel_path:
  - 616
  - 618
  - 615
  jupyter_server.services.contents.filemanager.FileContentsManager.info_string:
  - 611
  - 612
  jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden:
  - 144
  - 145
  - 146
  - 131
  jupyter_server.services.contents.filemanager.FileContentsManager.is_writable:
  - 162
  - 163
  - 165
  - 167
  - 149
  jupyter_server.services.contents.filemanager.FileContentsManager.rename_file:
  - 581
  - 582
  - 583
  - 584
  - 587
  - 588
  - 590
  - 591
  - 596
  - 601
  - 602
  jupyter_server.services.contents.filemanager.FileContentsManager.save:
  - 514
  - 518
  - 519
  - 520
  - 522
  - 523
  - 526
  - 527
  - 479
  - 480
  - 482
  - 484
  - 486
  - 488
  - 490
  - 493
  - 497
  - 498
  - 499
  - 500
  - 502
  - 503
  - 504
  - 506
  - 507
  - 508
  jupyter_server.services.contents.handlers:
  - 1
  jupyter_server.services.contents.handlers.CheckpointsHandler:
  - 342
  jupyter_server.services.contents.handlers.CheckpointsHandler.get:
  - 347
  - 349
  - 350
  - 351
  jupyter_server.services.contents.handlers.CheckpointsHandler.post:
  - 356
  - 358
  - 359
  - 360
  - 363
  - 365
  - 367
  - 368
  - 369
  jupyter_server.services.contents.handlers.ContentsAPIHandler:
  - 84
  jupyter_server.services.contents.handlers.ContentsHandler:
  - 90
  jupyter_server.services.contents.handlers.ContentsHandler._copy:
  - 211
  - 212
  - 217
  - 218
  - 219
  - 220
  jupyter_server.services.contents.handlers.ContentsHandler._finish_error:
  - 112
  - 113
  - 114
  - 115
  jupyter_server.services.contents.handlers.ContentsHandler._finish_model:
  - 103
  - 104
  - 105
  - 106
  - 107
  - 108
  - 109
  jupyter_server.services.contents.handlers.ContentsHandler._new_untitled:
  - 231
  - 232
  - 233
  - 234
  - 236
  - 237
  - 238
  jupyter_server.services.contents.handlers.ContentsHandler._save:
  - 241
  - 242
  - 243
  - 244
  - 245
  - 246
  - 247
  jupyter_server.services.contents.handlers.ContentsHandler._upload:
  - 224
  - 225
  - 226
  - 227
  - 228
  - 223
  jupyter_server.services.contents.handlers.ContentsHandler.delete:
  - 329
  - 332
  - 335
  - 336
  - 337
  - 338
  jupyter_server.services.contents.handlers.ContentsHandler.get:
  - 128
  - 129
  - 133
  - 134
  - 136
  - 137
  - 139
  - 141
  - 142
  - 146
  - 148
  - 149
  - 156
  - 157
  - 169
  - 170
  - 177
  - 178
  - 181
  - 182
  - 120
  jupyter_server.services.contents.handlers.ContentsHandler.location_url:
  - 100
  - 93
  jupyter_server.services.contents.handlers.ContentsHandler.patch:
  - 192
  - 193
  - 196
  - 197
  - 201
  - 206
  - 207
  - 208
  - 190
  jupyter_server.services.contents.handlers.ContentsHandler.post:
  - 288
  - 265
  - 266
  - 269
  - 270
  - 271
  - 272
  - 273
  - 274
  - 275
  - 279
  - 281
  - 282
  - 283
  - 252
  - 286
  jupyter_server.services.contents.handlers.ContentsHandler.put:
  - 320
  - 322
  - 324
  - 293
  - 303
  - 306
  - 307
  - 309
  - 310
  - 311
  - 315
  - 316
  - 319
  jupyter_server.services.contents.handlers.ModifyCheckpointsHandler:
  - 373
  jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.delete:
  - 387
  - 389
  - 390
  - 391
  jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.post:
  - 378
  - 380
  - 381
  - 382
  jupyter_server.services.contents.handlers.NotebooksRedirectHandler:
  - 395
  jupyter_server.services.contents.handlers.NotebooksRedirectHandler.get:
  - 408
  - 409
  - 407
  jupyter_server.services.contents.handlers.TrustNotebooksHandler:
  - 418
  - 415
  jupyter_server.services.contents.handlers.TrustNotebooksHandler.post:
  - 424
  - 420
  - 422
  - 423
  jupyter_server.services.contents.handlers._validate_keys:
  - 32
  - 41
  - 34
  - 28
  jupyter_server.services.contents.handlers.validate_model:
  - 68
  - 69
  - 70
  - 71
  - 78
  - 79
  - 80
  - 49
  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
  - 42
  jupyter_server.services.contents.manager.AsyncContentsManager:
  - 768
  - 769
  - 771
  - 775
  - 765
  - 767
  jupyter_server.services.contents.manager.AsyncContentsManager._default_checkpoints:
  - 773
  jupyter_server.services.contents.manager.AsyncContentsManager.copy:
  - 1030
  - 1032
  - 1033
  - 1035
  - 1036
  - 1041
  - 1042
  - 1043
  - 1044
  - 1048
  - 1050
  - 1051
  - 1052
  - 1054
  - 1055
  - 1056
  - 1057
  - 1062
  - 1063
  - 1021
  jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint:
  - 1082
  - 1083
  jupyter_server.services.contents.manager.AsyncContentsManager.delete:
  - 898
  - 899
  - 900
  - 893
  - 894
  - 895
  jupyter_server.services.contents.manager.AsyncContentsManager.delete_checkpoint:
  - 1096
  - 1097
  jupyter_server.services.contents.manager.AsyncContentsManager.delete_file:
  - 882
  jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists:
  - 786
  jupyter_server.services.contents.manager.AsyncContentsManager.exists:
  - 856
  - 841
  - 855
  jupyter_server.services.contents.manager.AsyncContentsManager.file_exists:
  - 822
  jupyter_server.services.contents.manager.AsyncContentsManager.get:
  - 860
  jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename:
  - 939
  - 940
  - 941
  - 942
  - 946
  - 949
  - 950
  - 922
  jupyter_server.services.contents.manager.AsyncContentsManager.is_hidden:
  - 805
  jupyter_server.services.contents.manager.AsyncContentsManager.list_checkpoints:
  - 1092
  - 1093
  jupyter_server.services.contents.manager.AsyncContentsManager.new:
  - 994
  - 998
  - 999
  - 1002
  - 1003
  - 1005
  - 1008
  - 1009
  - 1010
  - 1017
  jupyter_server.services.contents.manager.AsyncContentsManager.new_untitled:
  - 963
  - 964
  - 965
  - 969
  - 972
  - 973
  - 975
  - 978
  - 981
  - 984
  - 955
  - 989
  - 991
  jupyter_server.services.contents.manager.AsyncContentsManager.rename:
  - 904
  - 905
  - 906
  - 903
  jupyter_server.services.contents.manager.AsyncContentsManager.rename_file:
  - 886
  jupyter_server.services.contents.manager.AsyncContentsManager.restore_checkpoint:
  - 1089
  - 1086
  jupyter_server.services.contents.manager.AsyncContentsManager.save:
  - 872
  jupyter_server.services.contents.manager.AsyncContentsManager.trust_notebook:
  - 1067
  - 1074
  - 1076
  - 1077
  - 1078
  jupyter_server.services.contents.manager.AsyncContentsManager.update:
  - 909
  - 914
  - 915
  - 916
  - 917
  - 918
  jupyter_server.services.contents.manager.ContentsManager:
  - 263
  - 264
  - 137
  - 138
  - 143
  - 147
  - 153
  - 46
  - 176
  - 191
  - 65
  - 67
  - 323
  - 324
  - 325
  - 327
  - 331
  - 82
  - 338
  - 84
  - 212
  - 87
  - 92
  - 355
  - 114
  - 116
  - 118
  - 122
  - 123
  jupyter_server.services.contents.manager.ContentsManager._default_checkpoints:
  - 329
  jupyter_server.services.contents.manager.ContentsManager._default_event_logger:
  - 73
  - 75
  - 69
  jupyter_server.services.contents.manager.ContentsManager._notary_default:
  - 120
  jupyter_server.services.contents.manager.ContentsManager._validate_post_save_hook:
  - 215
  - 216
  - 217
  - 220
  - 221
  jupyter_server.services.contents.manager.ContentsManager._validate_pre_save_hook:
  - 179
  - 180
  - 181
  - 184
  - 185
  jupyter_server.services.contents.manager.ContentsManager._validate_preferred_dir:
  - 98
  - 99
  - 101
  - 104
  - 106
  - 108
  - 109
  - 94
  jupyter_server.services.contents.manager.ContentsManager.check_and_sign:
  - 720
  - 721
  - 723
  - 709
  jupyter_server.services.contents.manager.ContentsManager.copy:
  - 645
  - 654
  - 656
  - 657
  - 659
  - 660
  - 665
  - 666
  - 667
  - 668
  - 672
  - 674
  - 675
  - 676
  - 678
  - 679
  - 680
  - 681
  - 686
  - 687
  jupyter_server.services.contents.manager.ContentsManager.create_checkpoint:
  - 748
  - 749
  jupyter_server.services.contents.manager.ContentsManager.delete:
  - 483
  - 484
  - 485
  - 487
  - 488
  - 489
  jupyter_server.services.contents.manager.ContentsManager.delete_checkpoint:
  - 761
  jupyter_server.services.contents.manager.ContentsManager.delete_file:
  - 472
  jupyter_server.services.contents.manager.ContentsManager.dir_exists:
  - 378
  jupyter_server.services.contents.manager.ContentsManager.emit:
  - 80
  - 79
  jupyter_server.services.contents.manager.ContentsManager.exists:
  - 433
  - 447
  jupyter_server.services.contents.manager.ContentsManager.file_exists:
  - 414
  jupyter_server.services.contents.manager.ContentsManager.get:
  - 450
  jupyter_server.services.contents.manager.ContentsManager.get_extra_handlers:
  - 370
  - 371
  - 365
  jupyter_server.services.contents.manager.ContentsManager.get_kernel_path:
  - 515
  jupyter_server.services.contents.manager.ContentsManager.increment_filename:
  - 544
  - 545
  - 546
  - 547
  - 551
  - 554
  - 527
  jupyter_server.services.contents.manager.ContentsManager.info_string:
  - 511
  jupyter_server.services.contents.manager.ContentsManager.is_hidden:
  - 397
  jupyter_server.services.contents.manager.ContentsManager.list_checkpoints:
  - 758
  jupyter_server.services.contents.manager.ContentsManager.log_info:
  - 691
  - 692
  jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells:
  - 737
  - 738
  - 739
  - 740
  - 726
  jupyter_server.services.contents.manager.ContentsManager.new:
  - 641
  - 618
  - 622
  - 623
  - 626
  - 627
  - 629
  - 632
  - 633
  - 634
  jupyter_server.services.contents.manager.ContentsManager.new_untitled:
  - 608
  - 580
  - 613
  - 615
  - 588
  - 589
  - 593
  - 596
  - 597
  - 599
  - 602
  - 605
  jupyter_server.services.contents.manager.ContentsManager.register_post_save_hook:
  - 276
  - 277
  - 278
  - 279
  - 282
  jupyter_server.services.contents.manager.ContentsManager.register_pre_save_hook:
  - 267
  - 268
  - 269
  - 270
  - 273
  jupyter_server.services.contents.manager.ContentsManager.rename:
  - 492
  - 493
  - 494
  - 495
  jupyter_server.services.contents.manager.ContentsManager.rename_file:
  - 476
  jupyter_server.services.contents.manager.ContentsManager.restore_checkpoint:
  - 752
  - 755
  jupyter_server.services.contents.manager.ContentsManager.run_post_save_hook:
  - 256
  - 257
  - 259
  - 248
  - 249
  - 254
  jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks:
  - 307
  - 310
  - 312
  - 313
  - 315
  jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hook:
  - 228
  - 229
  - 234
  - 236
  - 237
  - 245
  jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks:
  - 288
  - 290
  - 291
  - 299
  - 285
  jupyter_server.services.contents.manager.ContentsManager.save:
  - 462
  jupyter_server.services.contents.manager.ContentsManager.should_list:
  - 744
  - 743
  jupyter_server.services.contents.manager.ContentsManager.trust_notebook:
  - 704
  - 705
  - 706
  - 695
  - 702
  jupyter_server.services.contents.manager.ContentsManager.update:
  - 498
  - 503
  - 504
  - 505
  - 506
  - 507
  jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model:
  - 559
  - 566
  - 567
  - 568
  - 571
  - 573
  - 574
  - 575
  jupyter_server.services.events.handlers:
  - 1
  - 23
  jupyter_server.services.events.handlers.EventHandler:
  - 114
  jupyter_server.services.events.handlers.EventHandler.post:
  - 128
  - 129
  - 130
  - 131
  - 133
  - 134
  - 121
  - 122
  - 123
  - 127
  jupyter_server.services.events.handlers.SubscribeWebsocket:
  - 31
  jupyter_server.services.events.handlers.SubscribeWebsocket.event_listener:
  - 59
  - 60
  - 61
  jupyter_server.services.events.handlers.SubscribeWebsocket.get:
  - 50
  - 51
  - 52
  - 53
  - 54
  jupyter_server.services.events.handlers.SubscribeWebsocket.on_close:
  - 70
  - 71
  jupyter_server.services.events.handlers.SubscribeWebsocket.open:
  - 64
  - 67
  jupyter_server.services.events.handlers.SubscribeWebsocket.pre_get:
  - 42
  - 43
  - 36
  - 45
  jupyter_server.services.events.handlers.get_timestamp:
  - 96
  - 98
  - 99
  jupyter_server.services.events.handlers.validate_model:
  - 77
  - 80
  - 81
  - 84
  - 88
  - 89
  - 90
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC:
  - 6
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.connect:
  - 17
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.disconnect:
  - 21
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.handle_incoming_message:
  - 25
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.handle_outgoing_message:
  - 29
  jupyter_server.services.kernels.connection.base:
  - 1
  - 181
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection:
  - 162
  - 115
  - 117
  - 150
  - 152
  - 121
  - 156
  - 158
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection._default_session:
  - 160
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.connect:
  - 165
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.disconnect:
  - 169
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.handle_incoming_message:
  - 173
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.handle_outgoing_message:
  - 177
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.kernel_id:
  - 142
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.kernel_manager:
  - 132
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.multi_kernel_manager:
  - 137
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.session_id:
  - 147
  jupyter_server.services.kernels.connection.base.deserialize_binary_message:
  - 67
  - 68
  - 69
  - 71
  - 72
  - 73
  - 74
  - 75
  - 54
  jupyter_server.services.kernels.connection.base.deserialize_msg_from_ws_v1:
  - 104
  - 105
  - 107
  - 109
  - 110
  jupyter_server.services.kernels.connection.base.serialize_binary_message:
  - 40
  - 41
  - 42
  - 43
  - 44
  - 46
  - 47
  - 48
  - 49
  - 50
  - 25
  jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1:
  - 96
  - 97
  - 98
  - 99
  - 81
  - 82
  - 84
  - 85
  - 86
  - 87
  - 91
  - 93
  - 94
  - 95
  jupyter_server.services.kernels.connection.channels:
  - 1
  - 809
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection:
  - 128
  - 132
  - 49
  - 51
  - 54
  - 61
  - 64
  - 71
  - 74
  - 81
  - 84
  - 90
  - 101
  - 106
  - 107
  - 109
  - 111
  - 116
  - 118
  - 123
  - 125
  - 126
  - 127
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._default_close_future:
  - 120
  - 121
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._default_kernel_info_future:
  - 113
  - 114
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._finish_kernel_info:
  - 623
  - 628
  - 629
  - 630
  - 631
  - 634
  - 635
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._handle_kernel_info_reply:
  - 611
  - 612
  - 613
  - 615
  - 618
  - 619
  - 598
  - 602
  - 604
  - 606
  - 607
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._limit_rate:
  - 653
  - 654
  - 657
  - 660
  - 661
  - 662
  - 671
  - 673
  - 674
  - 676
  - 687
  - 692
  - 696
  - 697
  - 700
  - 701
  - 703
  - 706
  - 707
  - 723
  - 725
  - 726
  - 729
  - 730
  - 732
  - 735
  - 736
  - 752
  - 754
  - 755
  - 758
  - 762
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_error:
  - 800
  - 801
  - 805
  - 806
  - 794
  - 795
  - 798
  - 799
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_zmq_reply:
  - 553
  - 556
  - 557
  - 558
  - 560
  - 561
  - 562
  - 563
  - 566
  - 568
  - 571
  - 573
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._register_session:
  - 290
  - 276
  - 283
  - 284
  - 285
  - 286
  - 287
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply:
  - 544
  - 546
  - 547
  - 550
  - 528
  - 538
  - 542
  - 543
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._send_status_message:
  - 768
  - 769
  - 770
  - 774
  - 775
  - 776
  - 777
  - 778
  - 781
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.close:
  - 396
  - 397
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.close_all:
  - 136
  - 137
  - 138
  - 139
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect:
  - 391
  - 392
  - 336
  - 337
  - 340
  - 341
  - 342
  - 343
  - 346
  - 351
  - 361
  - 364
  - 365
  - 370
  - 371
  - 376
  - 377
  - 378
  - 379
  - 382
  - 383
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect.replay:
  - 355
  - 356
  - 357
  - 359
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect.subscribe:
  - 388
  - 389
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.create_stream:
  - 153
  - 154
  - 155
  - 151
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect:
  - 419
  - 440
  - 423
  - 426
  - 427
  - 441
  - 400
  - 401
  - 433
  - 403
  - 404
  - 434
  - 406
  - 407
  - 408
  - 435
  - 436
  - 412
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part:
  - 524
  - 517
  - 518
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_incoming_message:
  - 446
  - 448
  - 450
  - 453
  - 454
  - 459
  - 460
  - 462
  - 464
  - 466
  - 467
  - 469
  - 470
  - 474
  - 475
  - 477
  - 478
  - 483
  - 485
  - 486
  - 488
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_outgoing_message:
  - 512
  - 514
  - 491
  - 493
  - 495
  - 498
  - 500
  - 503
  - 506
  - 508
  - 511
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge:
  - 267
  - 270
  - 272
  - 273
  - 159
  - 172
  - 173
  - 174
  - 175
  - 176
  - 179
  - 182
  - 186
  - 187
  - 188
  - 208
  - 232
  - 233
  - 234
  - 235
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.cleanup:
  - 199
  - 200
  - 201
  - 202
  - 203
  - 204
  - 205
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.finish:
  - 194
  - 195
  - 196
  - 191
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.nudge:
  - 256
  - 259
  - 261
  - 262
  - 263
  - 265
  - 239
  - 242
  - 243
  - 244
  - 248
  - 249
  - 250
  - 254
  - 255
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_control_reply:
  - 218
  - 219
  - 220
  - 221
  - 222
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_iopub:
  - 225
  - 226
  - 227
  - 228
  - 229
  - 230
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_shell_reply:
  - 211
  - 212
  - 213
  - 214
  - 215
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.on_kernel_restarted:
  - 784
  - 785
  - 786
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.on_restart_failed:
  - 789
  - 790
  - 791
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.prepare:
  - 321
  - 295
  - 297
  - 330
  - 331
  - 333
  - 302
  - 304
  - 305
  - 307
  - 310
  - 313
  - 314
  - 315
  - 316
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.prepare.give_up:
  - 328
  - 324
  - 325
  - 327
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info:
  - 576
  - 581
  - 584
  - 585
  - 587
  - 588
  - 592
  - 593
  - 594
  - 595
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info.<lambda1>:
  - 594
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.subprotocol:
  - 143
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message:
  - 94
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr:
  - 640
  - 645
  - 646
  - 647
  - 650
  - 638
  - 639
  jupyter_server.services.kernels.connection.channels._ensure_future:
  - 40
  - 42
  - 43
  jupyter_server.services.kernels.handlers:
  - 1
  jupyter_server.services.kernels.handlers.KernelActionHandler:
  - 89
  jupyter_server.services.kernels.handlers.KernelActionHandler.post:
  - 96
  - 97
  - 98
  - 99
  - 101
  - 104
  - 105
  - 106
  - 108
  - 109
  - 110
  - 94
  jupyter_server.services.kernels.handlers.KernelHandler:
  - 68
  jupyter_server.services.kernels.handlers.KernelHandler.delete:
  - 81
  - 83
  - 84
  - 85
  jupyter_server.services.kernels.handlers.KernelHandler.get:
  - 73
  - 75
  - 76
  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:
  - 64
  - 47
  - 49
  - 50
  - 53
  - 55
  - 56
  - 57
  - 60
  - 61
  - 62
  - 63
  jupyter_server.services.kernels.kernelmanager:
  - 1
  - 29
  jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager:
  - 744
  - 746
  - 750
  jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager.__init__:
  - 769
  - 770
  - 766
  jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager._validate_kernel_manager_class:
  - 752
  - 754
  - 755
  - 756
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager:
  - 138
  - 152
  - 154
  - 158
  - 547
  - 548
  - 170
  - 171
  - 178
  - 182
  - 57
  - 63
  - 67
  - 69
  - 71
  - 73
  - 79
  - 85
  - 96
  - 105
  - 111
  - 118
  - 125
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.__init__:
  - 168
  - 164
  - 167
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel:
  - 450
  - 451
  - 452
  - 453
  - 484
  - 455
  - 456
  - 486
  - 487
  - 488
  - 489
  - 491
  - 492
  - 493
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish:
  - 459
  - 460
  - 461
  - 462
  - 463
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_reply:
  - 467
  - 468
  - 469
  - 470
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_restart_failed:
  - 480
  - 481
  - 482
  - 479
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_timeout:
  - 473
  - 474
  - 475
  - 476
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_shutdown_kernel:
  - 429
  - 430
  - 434
  - 436
  - 437
  - 438
  - 440
  - 441
  - 443
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_start_kernel:
  - 256
  - 262
  - 265
  - 268
  - 269
  - 217
  - 232
  - 233
  - 234
  - 235
  - 238
  - 242
  - 245
  - 246
  - 247
  - 248
  - 250
  - 251
  - 252
  - 254
  - 255
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id:
  - 542
  - 543
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_kernel_buffers:
  - 156
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_root_dir:
  - 81
  - 82
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start:
  - 288
  - 292
  - 294
  - 296
  - 279
  - 280
  - 281
  - 283
  - 284
  - 286
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start.<lambda1>:
  - 296
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._get_changed_ports:
  - 321
  - 329
  - 330
  - 331
  - 332
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._handle_kernel_died:
  - 193
  - 194
  - 195
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._remove_kernel_when_ready:
  - 208
  - 209
  - 210
  - 207
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._update_root_dir:
  - 89
  - 91
  - 92
  - 87
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernel_if_idle:
  - 705
  - 738
  - 709
  - 711
  - 714
  - 720
  - 723
  - 725
  - 695
  - 728
  - 729
  - 698
  - 699
  - 730
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernels:
  - 677
  - 678
  - 683
  - 684
  - 686
  - 688
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cwd_for_path:
  - 202
  - 203
  - 198
  - 199
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.get_buffer:
  - 387
  - 388
  - 392
  - 394
  - 398
  - 376
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.initialize_culler:
  - 672
  - 645
  - 649
  - 654
  - 655
  - 656
  - 662
  - 663
  - 668
  - 669
  - 670
  - 671
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.kernel_model:
  - 513
  - 519
  - 521
  - 523
  - 509
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.list_kernels:
  - 528
  - 530
  - 531
  - 533
  - 534
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.notify_connect:
  - 499
  - 500
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.notify_disconnect:
  - 504
  - 505
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.ports_changed:
  - 312
  - 313
  - 315
  - 301
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_buffering:
  - 352
  - 353
  - 356
  - 357
  - 359
  - 337
  - 372
  - 373
  - 351
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_buffering.buffer_msg:
  - 369
  - 370
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity:
  - 583
  - 592
  - 593
  - 594
  - 632
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity.record_activity:
  - 608
  - 609
  - 612
  - 613
  - 614
  - 616
  - 618
  - 623
  - 630
  - 600
  - 601
  - 602
  - 605
  - 606
  - 607
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering:
  - 416
  - 417
  - 418
  - 421
  - 422
  - 424
  - 401
  - 408
  - 409
  - 411
  - 413
  - 415
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity:
  - 641
  - 642
  - 635
  - 637
  - 638
  - 639
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager:
  - 865
  - 903
  - 873
  - 875
  - 846
  - 910
  - 849
  - 852
  - 917
  - 854
  - 924
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager._default_event_logger:
  - 877
  - 878
  - 881
  - 886
  - 889
  - 892
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager.emit:
  - 899
  - 900
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager.interrupt_kernel:
  - 928
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager.restart_kernel:
  - 921
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager.shutdown_kernel:
  - 914
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager.start_kernel:
  - 907
  jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event:
  - 774
  jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method:
  - 795
  jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method.wrapped_method:
  - 802
  - 834
  - 807
  - 811
  - 813
  - 824
  - 826
  - 797
  - 830
  - 799
  jupyter_server.services.kernels.websocket:
  - 1
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler:
  - 17
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.get:
  - 65
  - 66
  - 63
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.get_compression_options:
  - 33
  - 34
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.kernel_websocket_connection_class:
  - 24
  - 23
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.on_close:
  - 82
  - 83
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.on_message:
  - 78
  - 79
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.open:
  - 72
  - 74
  - 75
  - 69
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.pre_get:
  - 37
  - 41
  - 42
  - 44
  - 47
  - 48
  - 52
  - 53
  - 55
  - 58
  - 59
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.select_subprotocol:
  - 89
  - 91
  - 87
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.set_default_headers:
  - 27
  jupyter_server.services.kernelspecs.handlers:
  - 1
  jupyter_server.services.kernelspecs.handlers.KernelSpecHandler:
  - 94
  jupyter_server.services.kernelspecs.handlers.KernelSpecHandler.get:
  - 99
  - 101
  - 103
  - 106
  - 109
  - 110
  - 111
  jupyter_server.services.kernelspecs.handlers.KernelSpecsAPIHandler:
  - 56
  jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler:
  - 62
  jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler.get:
  - 67
  - 73
  - 74
  - 76
  - 79
  - 86
  - 89
  - 90
  jupyter_server.services.kernelspecs.handlers.is_kernelspec_model:
  - 48
  - 46
  jupyter_server.services.kernelspecs.handlers.kernelspec_model:
  - 33
  - 34
  - 35
  - 38
  - 39
  - 40
  - 41
  - 29
  jupyter_server.services.nbconvert.handlers:
  - 1
  jupyter_server.services.nbconvert.handlers.NbconvertRootHandler:
  - 17
  jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.get:
  - 33
  - 41
  - 43
  - 45
  - 59
  jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.initialize:
  - 24
  - 26
  - 27
  - 23
  jupyter_server.services.security.handlers:
  - 1
  jupyter_server.services.security.handlers.CSPReportHandler:
  - 16
  jupyter_server.services.security.handlers.CSPReportHandler.check_xsrf_cookie:
  - 26
  jupyter_server.services.security.handlers.CSPReportHandler.post:
  - 32
  - 33
  - 35
  jupyter_server.services.security.handlers.CSPReportHandler.skip_check_origin:
  - 22
  jupyter_server.services.sessions.handlers:
  - 1
  jupyter_server.services.sessions.handlers.SessionHandler:
  - 117
  jupyter_server.services.sessions.handlers.SessionHandler.delete:
  - 212
  - 211
  - 204
  - 207
  jupyter_server.services.sessions.handlers.SessionHandler.get:
  - 122
  - 124
  - 125
  jupyter_server.services.sessions.handlers.SessionHandler.patch:
  - 130
  - 137
  - 138
  - 142
  - 145
  - 146
  - 149
  - 151
  - 153
  - 155
  - 157
  - 159
  - 162
  - 166
  - 181
  - 184
  - 185
  - 186
  - 189
  - 190
  - 192
  - 195
  - 197
  - 198
  - 199
  jupyter_server.services.sessions.handlers.SessionRootHandler:
  - 35
  jupyter_server.services.sessions.handlers.SessionRootHandler.get:
  - 40
  - 42
  - 43
  jupyter_server.services.sessions.handlers.SessionRootHandler.post:
  - 48
  - 52
  - 53
  - 56
  - 57
  - 59
  - 61
  - 76
  - 77
  - 78
  - 79
  - 81
  - 82
  - 85
  - 86
  - 87
  - 90
  - 103
  - 104
  - 105
  - 110
  - 111
  - 112
  - 113
  jupyter_server.services.sessions.handlers.SessionsAPIHandler:
  - 29
  jupyter_server.services.sessions.sessionmanager:
  - 1
  - 10
  - 11
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecord:
  - 37
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecord.__eq__:
  - 48
  - 49
  - 51
  - 57
  - 62
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecord.update:
  - 80
  - 81
  - 85
  - 89
  - 90
  - 91
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordConflict:
  - 30
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList:
  - 95
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__contains__:
  - 116
  - 117
  - 120
  - 121
  - 122
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__init__:
  - 106
  - 108
  - 109
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__len__:
  - 128
  - 127
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__str__:
  - 112
  - 113
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.get:
  - 131
  - 134
  - 135
  - 136
  - 138
  - 139
  - 140
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.remove:
  - 154
  - 157
  - 158
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update:
  - 146
  - 148
  - 149
  - 151
  jupyter_server.services.sessions.sessionmanager.SessionManager:
  - 162
  - 195
  - 196
  - 164
  - 174
  jupyter_server.services.sessions.sessionmanager.SessionManager.__del__:
  - 240
  - 241
  jupyter_server.services.sessions.sessionmanager.SessionManager.__init__:
  - 204
  - 205
  - 206
  jupyter_server.services.sessions.sessionmanager.SessionManager._validate_database_filepath:
  - 176
  - 178
  - 180
  - 181
  - 183
  - 187
  - 188
  - 190
  jupyter_server.services.sessions.sessionmanager.SessionManager.close:
  - 234
  - 235
  - 236
  jupyter_server.services.sessions.sessionmanager.SessionManager.connection:
  - 226
  - 227
  - 229
  jupyter_server.services.sessions.sessionmanager.SessionManager.create_session:
  - 289
  - 290
  - 293
  - 294
  - 271
  - 279
  - 280
  - 281
  - 282
  - 285
  jupyter_server.services.sessions.sessionmanager.SessionManager.cursor:
  - 216
  - 217
  - 218
  - 215
  jupyter_server.services.sessions.sessionmanager.SessionManager.delete_session:
  - 525
  - 526
  - 527
  - 528
  - 529
  - 530
  - 531
  jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env:
  - 299
  - 309
  - 310
  - 311
  - 312
  jupyter_server.services.sessions.sessionmanager.SessionManager.get_session:
  - 420
  - 422
  - 423
  - 415
  - 428
  - 400
  - 405
  - 406
  - 409
  - 411
  - 413
  - 383
  jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled:
  - 470
  jupyter_server.services.sessions.sessionmanager.SessionManager.list_sessions:
  - 512
  - 516
  - 518
  - 519
  - 510
  jupyter_server.services.sessions.sessionmanager.SessionManager.new_session_id:
  - 260
  - 261
  jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model:
  - 484
  - 486
  - 491
  - 492
  - 496
  - 504
  - 474
  - 475
  - 476
  jupyter_server.services.sessions.sessionmanager.SessionManager.save_session:
  - 379
  - 375
  - 351
  jupyter_server.services.sessions.sessionmanager.SessionManager.session_exists:
  - 244
  - 246
  - 247
  - 248
  - 254
  - 255
  jupyter_server.services.sessions.sessionmanager.SessionManager.start_kernel_for_session:
  - 323
  - 340
  - 342
  - 343
  - 348
  jupyter_server.services.sessions.sessionmanager.SessionManager.update_session:
  - 448
  - 450
  - 455
  - 456
  - 458
  - 459
  - 460
  - 462
  - 463
  - 434
  - 466
  - 467
  jupyter_server.services.shutdown:
  - 1
  jupyter_server.services.shutdown.ShutdownHandler:
  - 12
  jupyter_server.services.shutdown.ShutdownHandler.post:
  - 19
  - 20
  - 22
  - 23
  - 25
  jupyter_server.terminal:
  - 1
  - 10
  jupyter_server.terminal.api_handlers:
  - 1
  jupyter_server.terminal.handlers:
  - 1
  jupyter_server.terminal.initialize:
  - 18
  jupyter_server.terminal.terminalmanager:
  - 1
  jupyter_server.traittypes:
  - 1
  jupyter_server.traittypes.InstanceFromClasses:
  - 130
  jupyter_server.traittypes.InstanceFromClasses.__init__:
  - 160
  - 163
  - 136
  - 171
  - 174
  - 181
  jupyter_server.traittypes.InstanceFromClasses._resolve_classes:
  - 227
  - 215
  - 218
  - 219
  - 222
  - 223
  jupyter_server.traittypes.InstanceFromClasses.default_value_repr:
  - 238
  - 239
  jupyter_server.traittypes.InstanceFromClasses.from_string:
  - 242
  - 243
  jupyter_server.traittypes.InstanceFromClasses.info:
  - 195
  - 198
  - 199
  - 202
  - 204
  - 205
  jupyter_server.traittypes.InstanceFromClasses.instance_from_importable_klasses:
  - 184
  - 185
  jupyter_server.traittypes.InstanceFromClasses.instance_init:
  - 210
  - 211
  - 212
  jupyter_server.traittypes.InstanceFromClasses.make_dynamic_default:
  - 233
  - 230
  - 231
  jupyter_server.traittypes.InstanceFromClasses.validate:
  - 192
  - 188
  - 189
  jupyter_server.traittypes.TypeFromClasses:
  - 11
  jupyter_server.traittypes.TypeFromClasses.__init__:
  - 36
  - 41
  - 42
  - 16
  - 48
  - 52
  - 53
  - 60
  jupyter_server.traittypes.TypeFromClasses._resolve_classes:
  - 104
  - 106
  - 107
  - 110
  - 111
  - 115
  - 117
  - 118
  jupyter_server.traittypes.TypeFromClasses.default_value_repr:
  - 121
  - 123
  - 124
  - 126
  jupyter_server.traittypes.TypeFromClasses.info:
  - 86
  - 88
  - 89
  - 93
  - 94
  jupyter_server.traittypes.TypeFromClasses.instance_init:
  - 99
  - 100
  - 101
  jupyter_server.traittypes.TypeFromClasses.subclass_from_klasses:
  - 64
  - 63
  jupyter_server.traittypes.TypeFromClasses.validate:
  - 67
  - 68
  - 70
  - 78
  - 83
  jupyter_server.transutils:
  - 1
  - 18
  - 19
  - 20
  jupyter_server.transutils._trans_gettext_deprecation_helper:
  - 11
  - 13
  - 14
  jupyter_server.utils:
  - 1
  - 35
  - 196
  - 38
  jupyter_server.utils.JupyterServerAuthWarning:
  - 426
  jupyter_server.utils._check_pid_posix:
  - 184
  - 186
  - 188
  - 182
  jupyter_server.utils._check_pid_win32:
  - 178
  jupyter_server.utils._request_for_tornado_client:
  - 256
  - 258
  - 260
  - 292
  - 293
  - 294
  - 247
  - 285
  - 286
  - 255
  jupyter_server.utils._request_for_tornado_client.UnixSocketResolver:
  - 269
  jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.close:
  - 280
  jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.resolve:
  - 283
  jupyter_server.utils.async_fetch:
  - 321
  - 314
  - 318
  jupyter_server.utils.check_version:
  - 165
  - 158
  jupyter_server.utils.fetch:
  - 304
  - 307
  - 300
  jupyter_server.utils.filefind:
  - 384
  - 389
  - 390
  - 378
  - 371
  - 374
  - 346
  - 379
  - 383
  jupyter_server.utils.import_item:
  - 416
  - 422
  - 397
  - 410
  - 411
  - 414
  jupyter_server.utils.is_namespace_package:
  - 342
  - 339
  - 326
  - 335
  jupyter_server.utils.path2url:
  - 72
  - 74
  - 76
  - 71
  jupyter_server.utils.run_sync_in_loop:
  - 209
  - 203
  - 204
  jupyter_server.utils.samefile_simple:
  - 128
  - 105
  - 126
  - 127
  jupyter_server.utils.to_api_path:
  - 144
  - 149
  - 150
  - 151
  - 153
  - 154
  jupyter_server.utils.to_os_path:
  - 137
  - 139
  - 132
  - 140
  jupyter_server.utils.unix_socket_in_use:
  - 228
  - 229
  - 233
  - 234
  - 240
  jupyter_server.utils.url2path:
  - 81
  - 82
  - 83
  jupyter_server.utils.url_escape:
  - 88
  - 92
  - 93
  jupyter_server.utils.url_is_absolute:
  - 66
  - 67
  jupyter_server.utils.url_path_join:
  - 47
  - 52
  - 53
  - 54
  - 55
  - 56
  - 58
  - 60
  jupyter_server.utils.url_unescape:
  - 97
  - 101
  jupyter_server.utils.urldecode_unix_socket_path:
  - 218
  - 219
  jupyter_server.utils.urlencode_unix_socket:
  - 224
  - 223
  jupyter_server.utils.urlencode_unix_socket_path:
  - 213
  - 214
  jupyter_server.view:
  - 1
  jupyter_server.view.handlers:
  - 1
  jupyter_server.view.handlers.ViewHandler:
  - 17
  jupyter_server.view.handlers.ViewHandler.get:
  - 24
  - 25
  - 26
  - 29
  - 30
  - 31
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:
  - ABC
  - LoggingConfigurable
  jupyter_client.provisioning.provisioner_base.KernelProvisionerMeta:
  - ABCMeta
  jupyter_client.restarter.KernelRestarter:
  - LoggingConfigurable
  jupyter_client.runapp.RunApp:
  - JupyterConsoleApp
  - JupyterApp
  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.call_context.CallContext: []
  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.PublicStaticFileHandler: []
  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.connections.GatewayWebSocketConnection:
  - BaseKernelWebsocketConnection
  jupyter_server.gateway.gateway_client.GatewayClient:
  - SingletonConfigurable
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase:
  - ABC
  - LoggingConfigurable
  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:
  - ServerKernelManager
  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:
  - Checkpoints
  - FileManagerMixin
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints:
  - FileCheckpoints
  - GenericCheckpointsMixin
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin:
  - FileManagerMixin
  jupyter_server.services.contents.fileio.FileManagerMixin:
  - Configurable
  - LoggingConfigurable
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager:
  - FileContentsManager
  - AsyncFileManagerMixin
  - AsyncContentsManager
  jupyter_server.services.contents.filemanager.FileContentsManager:
  - ContentsManager
  - FileManagerMixin
  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.JupyterServerAuthWarning:
  - RuntimeWarning
  jupyter_server.utils._request_for_tornado_client.UnixSocketResolver:
  - Resolver
  jupyter_server.view.handlers.ViewHandler:
  - JupyterHandler
ep:
  func_name: TestOneInput
  module: '...fuzz_serialization'
