code: def _deepcopy_tuple(x, memo, deepcopy=deepcopy):
      y = [deepcopy(a, memo) for a in x]
      # We're not going to put the tuple in the memo, but it's still important we
      # check for it, in case the tuple contains recursive mutable structures.
      try:
          return memo[id(x)]
      except KeyError:
          pass
      for k, j in zip(x, y):
          if k is not j:
              y = tuple(y)
              break
      else:
          y = x
      return y
  
file_path: catboost/contrib/tools/python3/src/Lib/copy.py
imports: import types
  import weakref
  from copyreg import dispatch_table
label_desc: Use image node_id 6 for calling a global function with example usage: _deepcopy_tuple(x, memo, deepcopy) and returns: y, memo