code: def local_service(self, name_or_id):
          
  
          if not self._loop.inside_loop():
              self._state_lock.acquire()
  
          try:
              if isinstance(name_or_id, int):
                  if name_or_id not in self._name_map:
                      raise ArgumentError("Unknown ID used to look up service", id=name_or_id)
                  name = self._name_map[name_or_id]
              else:
                  name = name_or_id
              if name not in self.services:
                  raise ArgumentError("Unknown service name", name=name)
  
              return copy(self.services[name])
          finally:
              if not self._loop.inside_loop():
                  self._state_lock.release()
docs: Get the locally synced information for a service.
  
          This method is safe to call outside of the background event loop
          without any race condition.  Internally it uses a thread-safe mutex to
          protect the local copies of supervisor data and ensure that it cannot
          change while this method is iterating over it.
  
          Args:
              name_or_id (string or int): Either a short name for the service or
                  a numeric id.
  
          Returns:
              ServiceState: the current state of the service synced locally
                  at the time of the call.