code: def unwrap(maybe_tf_decorator):
      """Unwraps an object into a list of TFDecorators and a final target.
  
      Args:
        maybe_tf_decorator: Any callable object.
  
      Returns:
        A tuple whose first element is an list of TFDecorator-derived objects that
        were applied to the final callable target, and whose second element is the
        final undecorated callable target. If the `maybe_tf_decorator` parameter is
        not decorated by any TFDecorators, the first tuple element will be an empty
        list. The `TFDecorator` list is ordered from outermost to innermost
        decorators.
      """
      decorators = []
      cur = maybe_tf_decorator
      while True:
          if isinstance(cur, TFDecorator):
              decorators.append(cur)
          elif _has_tf_decorator_attr(cur):
              decorators.append(getattr(cur, "_tf_decorator"))
          else:
              break
          if not hasattr(decorators[-1], "decorated_target"):
              break
          cur = decorators[-1].decorated_target
      return decorators, cur
  
file_path: tensorflow/tensorflow/python/util/tf_decorator.py
imports: import inspect
  from typing import Dict, Any
label_desc: Use image node_id 7 for calling a global function with example usage: unwrap(maybe_tf_decorator) and returns: decorators,  cur