code: def annotations_and_defaults(cls):
      annotations = OrderedDict()
      defaults = {}
      for base in reversed(cls.__bases__):
          if base is ConfigBase:
              continue
          annotations.update(getattr(base, "__annotations__", {}))
          defaults.update(getattr(base, "_field_defaults", {}))
      annotations.update(vars(cls).get("__annotations__", {}))
      defaults.update(
          {k: getattr(cls, k) for k in annotations if hasattr(cls, k)}
      )
      return annotations, defaults
  
imports: from collections import OrderedDict
  from enum import Enum
  from typing import Dict, List, Union
label_desc: Use image node_id 1 for calling the ConfigBaseMeta obj's underlying member method code with example usage: obj.annotations_and_defaults(cls) and returns: annotations,  defaults