code: def _obtain_cutoffs_from_outcome_constraints(
      optimization_config: OptimizationConfig,
      metric_name: str,
      metric_values: List[float],
  ) -> Tuple[float, float]:
      """Get all outcome constraints (non-scalarized) for a given metric."""
      # Check for scalarized outcome constraints for the given metric
      if any(
          isinstance(oc, ScalarizedOutcomeConstraint)
          and metric_name in [metric.name for metric in oc.metrics]
          for oc in optimization_config.outcome_constraints
      ):
          warnings.warn(
              "Automatic winsorization isn't supported for a "
              "`ScalarizedOutcomeConstraint`. Specify the winsorization settings "
              f"manually if you want to winsorize metric {metric_name}."
          )
      outcome_constraints = _get_non_scalarized_outcome_constraints(
          optimization_config=optimization_config,
          metric_name=metric_name,
      )
      if outcome_constraints:
          return _get_auto_winsorization_cutoffs_outcome_constraint(
              metric_values=metric_values,
              outcome_constraints=outcome_constraints,
          )
      return DEFAULT_CUTOFFS
  
imports: import warnings
  from logging import Logger
  from typing import Dict, List, Optional, Tuple, TYPE_CHECKING, Union
  import numpy
  from ax.core.objective import MultiObjective, ScalarizedObjective
  from ax.core.observation import Observation, ObservationData
  from ax.core.optimization_config import MultiObjectiveOptimizationConfig, OptimizationConfig
  from ax.core.outcome_constraint import ComparisonOp, ObjectiveThreshold, OutcomeConstraint, ScalarizedOutcomeConstraint
  from ax.core.search_space import SearchSpace
  from ax.exceptions.core import DataRequiredError, UnsupportedError, UserInputError
  from ax.modelbridge.transforms.base import Transform
  from ax.modelbridge.transforms.utils import derelativize_optimization_config_with_raw_status_quo, get_data
  from ax.models.types import TConfig, WinsorizationConfig
  from ax.utils.common.logger import get_logger
  from ax.utils.common.typeutils import checked_cast
label_desc: Use image node_id 3 for calling a global function with example usage: _obtain_cutoffs_from_outcome_constraints(optimization_config, metric_name, metric_values) and returns: DEFAULT_CUTOFFS, _get_auto_winsorization_cutoffs_outcome_constraint