code: def _get_offers_with_availability(
      self, offers: List[InstanceOffer]
  ) -> List[InstanceOfferWithAvailability]:
      raw_availabilities: List[
          Dict
      ] = self.api_client.client.instances.get_availabilities()  # type: ignore
  
      region_availabilities = {}
      for location in raw_availabilities:
          location_code = location["location_code"]
          availabilities = location["availabilities"]
          if location_code not in self.config.regions:
              continue
          for name in availabilities:
              key = (name, location_code)
              region_availabilities[
                  key
              ] = InstanceAvailability.AVAILABLE
  
      availability_offers = []
      for offer in offers:
          key = (offer.instance.name, offer.region)
          availability = region_availabilities.get(
              key, InstanceAvailability.NOT_AVAILABLE
          )
          availability_offers.append(
              InstanceOfferWithAvailability(
                  **offer.dict(), availability=availability
              )
          )
  
      return availability_offers
  
file_path: dstack/src/dstack/_internal/core/backends/datacrunch/compute.py
imports: from typing import Dict, List, Optional
  from dstack._internal.core.backends.base import Compute
  from dstack._internal.core.backends.base.compute import get_shim_commands
  from dstack._internal.core.backends.base.offers import get_catalog_offers
  from dstack._internal.core.backends.datacrunch.api_client import DataCrunchAPIClient
  from dstack._internal.core.backends.datacrunch.config import DataCrunchConfig
  from dstack._internal.core.errors import BackendError
  from dstack._internal.core.models.backends.base import BackendType
  from dstack._internal.core.models.instances import InstanceAvailability, InstanceOffer, InstanceOfferWithAvailability, InstanceState, LaunchedInstanceInfo
  from dstack._internal.core.models.runs import Job, Requirements, Run
label_desc: Use image node_id 3 for calling the DataCrunchCompute obj's underlying member method code with example usage: obj._get_offers_with_availability(offers) and returns: availability_offers