code: def clean_inputs(minimum, maximum, value, variable_name):
      if value is None:
          value = maximum
      elif not isinstance(value, int):
          raise InvalidArgument(
              f"Expected integer but {variable_name} is a {type(value).__name__}"
          )
      elif not minimum <= value <= maximum:
          raise InvalidArgument(
              f"Invalid value {minimum!r} < {variable_name}={value!r} < {maximum!r}"
          )
      return value
  
file_path: catboost/contrib/python/hypothesis/py3/hypothesis/provisional.py
imports: import string
  from importlib import resources
  from hypothesis import strategies
  from hypothesis.errors import InvalidArgument
  from hypothesis.internal.conjecture import utils
  from hypothesis.strategies._internal.utils import defines_strategy
label_desc: Use image node_id 1 for calling the DomainNameStrategy obj's underlying member method code with example usage: obj.clean_inputs(minimum, maximum, value, variable_name) and returns: value