code: def prompt_with_timeout(
      question: str, timeout: int, default: bool | None = None
  ) -> bool:
      """Ask the user a question and timeout if they don't respond."""
  
      def handler(signum, frame):
          raise AirflowException(f"Timeout {timeout}s reached")
  
      signal.signal(signal.SIGALRM, handler)
      signal.alarm(timeout)
      try:
          return ask_yesno(question, default)
      finally:
          signal.alarm(0)
  
imports: from __future__ import annotations
  import copy
  import itertools
  import re
  import signal
  import warnings
  from datetime import datetime
  from functools import reduce
  from typing import TYPE_CHECKING, Any, Callable, Generator, Iterable, Mapping, MutableMapping, TypeVar, cast
  from lazy_object_proxy import Proxy
  from airflow.configuration import conf
  from airflow.exceptions import AirflowException, RemovedInAirflow3Warning
  from airflow.utils.module_loading import import_string
  from airflow.utils.types import NOTSET
label_desc: Use image node_id 5 for calling a global function with example usage: prompt_with_timeout(question, timeout, default) and returns: ask_yesno