code: def _resolve_symlink(path, max_depth=64):
      '''
      Resolves the given symlink path to its real path, up to a maximum of the
      `max_depth` parameter which defaults to 64.
  
      If the path is not a symlink path, it is simply returned.
      '''
      if sys.getwindowsversion().major < 6:
          raise SaltInvocationError('Symlinks are only supported on Windows Vista or later.')
  
      # make sure we don't get stuck in a symlink loop!
      paths_seen = set((path, ))
      cur_depth = 0
      while is_link(path):
          path = readlink(path)
          if path in paths_seen:
              raise CommandExecutionError('The given path is involved in a symlink loop.')
          paths_seen.add(path)
          cur_depth += 1
          if cur_depth > max_depth:
              raise CommandExecutionError('Too many levels of symbolic links.')
  
      return patf _resolve_symlink(path, max_depth=64):
      '''
      Resolves the given symlink path to its real path, up to a maximum of the
      `max_depth` parameter which defaults to 64.
  
      If the path is not a symlink path, it is simply returned.
      '''
      if sys.getwindowsversion().major < 6:
          raise SaltInvocationError('Symlinks are only supported on Windows Vista or later.')
  
      # make sure we don't get stuck in a symlink loop!
      paths_seen = set((path, ))
      cur_depth = 0
      while is_link(path):
          path = readlink(path)
          if path in paths_seen:
              raise CommandExecutionError('The given path is involved in a symlink loop.')
          paths_seen.add(path)
          cur_depth += 1
          if cur_depth > max_depth:
              raise CommandExecutionError('Too many levels of symbolic links.')
  
      return path
docs: Resolves the given symlink path to its real path, up to a maximum of the
      `max_depth` parameter which defaults to 64.
  
      If the path is not a symlink path, it is simply returned.