code: def as_dict(self):
      return {
          "object_ref": self.object_ref.hex(),
          "pid": self.pid,
          "node_ip_address": self.node_address,
          "object_size": self.object_size,
          "reference_type": self.reference_type,
          "call_site": self.call_site,
          "task_status": self.task_status,
          "local_ref_count": self.local_ref_count,
          "pinned_in_memory": self.pinned_in_memory,
          "submitted_task_ref_count": self.submitted_task_ref_count,
          "contained_in_owned": [
              object_ref.hex() for object_ref in self.contained_in_owned
          ],
          "type": "Driver" if self.is_driver else "Worker",
      }
  
imports: import base64
  import logging
  from collections import defaultdict
  from enum import Enum
  from typing import List
  import ray
  from ray._private.internal_api import node_stats
  from ray._raylet import ActorID, JobID, TaskID
label_desc: Use image node_id 6 for calling the MemoryTableEntry obj's underlying member method code with example usage: obj.as_dict() and returns: dict