code: def _extract_sq_data(
      experiment: Experiment, data: Data
  ) -> Tuple[Dict[str, float], Dict[str, float]]:
      """
      Returns sq_means and sq_sems, each a mapping from metric name to, respectively, mean
      and sem of the status quo arm. Empty dictionaries if no SQ arm.
      """
      sq_means = {}
      sq_sems = {}
      if experiment.status_quo is not None:
          # Extract SQ values
          sq_df = data.df[
              data.df["arm_name"]
              == experiment.status_quo.name  # pyre-ignore
          ]
          for metric, metric_df in sq_df.groupby("metric_name"):
              sq_means[metric] = metric_df["mean"].values[0]
              sq_sems[metric] = metric_df["sem"].values[0]
      return sq_means, sq_sems
  
imports: import copy
  from copy import deepcopy
  from itertools import combinations
  from logging import Logger
  from typing import cast, Dict, List, NamedTuple, Optional, Tuple, Union
  import numpy
  import torch
  from ax.core.batch_trial import BatchTrial
  from ax.core.data import Data
  from ax.core.experiment import Experiment
  from ax.core.metric import Metric
  from ax.core.objective import ScalarizedObjective
  from ax.core.observation import ObservationFeatures
  from ax.core.optimization_config import MultiObjectiveOptimizationConfig, OptimizationConfig
  from ax.core.outcome_constraint import ComparisonOp, ObjectiveThreshold, OutcomeConstraint
  from ax.core.search_space import RobustSearchSpace, SearchSpace
  from ax.core.types import TParameterization
  from ax.exceptions.core import AxError, UnsupportedError, UserInputError
  from ax.modelbridge.modelbridge_utils import _get_modelbridge_training_data, get_pareto_frontier_and_configs, observed_pareto_frontier
  from ax.modelbridge.registry import Models
  from ax.modelbridge.torch import TorchModelBridge
  from ax.modelbridge.transforms.search_space_to_float import SearchSpaceToFloat
  from ax.models.torch.posterior_mean import get_PosteriorMean
  from ax.models.torch_base import TorchModel
  from ax.utils.common.logger import get_logger
  from ax.utils.stats.statstools import relativize
  from botorch.utils.multi_objective import is_non_dominated
  from botorch.utils.multi_objective.hypervolume import infer_reference_point
label_desc: Use image node_id 2 for calling a global function with example usage: _extract_sq_data(experiment, data) and returns: sq_means,  sq_sems