code: def __init__(self, shell=None):
      super(BuiltinTrap, self).__init__(shell=shell, config=None)
      self._orig_builtins = {}
      # We define this to track if a single BuiltinTrap is nested.
      # Only turn off the trap when the outermost call to __exit__ is made.
      self._nested_level = 0
      self.shell = shell
      # builtins we always add - if set to HideBuiltin, they will just
      # be removed instead of being replaced by something else
      self.auto_builtins = {
          "exit": HideBuiltin,
          "quit": HideBuiltin,
          "get_ipython": self.shell.get_ipython,
      }
  
file_path: catboost/contrib/python/ipython/py3/IPython/core/builtin_trap.py
imports: import builtins
  from traitlets.config.configurable import Configurable
  from traitlets import Instance
label_desc: Use image node_id 1 to create a new BuiltinTrap object from inherited base classes: Configurable with example: obj = BuiltinTrap(shell)