code: def _unsigned_integer_dtypes(
      xp: Any,
      *,
      sizes: Union[IntSize, Sequence[IntSize]] = (8, 16, 32, 64),
  ) -> st.SearchStrategy[DataType]:
      """Return a strategy for unsigned integer dtype objects.
  
      ``sizes`` contains the unsigned integer sizes in bits, defaulting to
      ``(8, 16, 32, 64)`` which covers all valid sizes.
      """
      if isinstance(sizes, int):
          sizes = (sizes,)
      check_valid_sizes("int", sizes, (8, 16, 32, 64))
  
      dtypes, stubs = partition_attributes_and_stubs(
          xp, numeric_dtype_names("uint", sizes)
      )
      check_dtypes(xp, dtypes, stubs)
  
      return st.sampled_from(dtypes)
  
imports: import math
  import sys
  from numbers import Real
  from types import SimpleNamespace
  from typing import TYPE_CHECKING, Any, Iterable, Iterator, List, Literal, Mapping, NamedTuple, Optional, Sequence, Tuple, Type, TypeVar, Union, get_args
  from warnings import warn
  from weakref import WeakValueDictionary
  from hypothesis import strategies
  from hypothesis.errors import HypothesisWarning, InvalidArgument
  from hypothesis.extra._array_helpers import NDIM_MAX, BasicIndex, BasicIndexStrategy, BroadcastableShapes, Shape, array_shapes, broadcastable_shapes, check_argument, check_valid_dims, mutually_broadcastable_shapes, order_check, valid_tuple_axes
  from hypothesis.internal.conjecture import utils
  from hypothesis.internal.coverage import check_function
  from hypothesis.internal.floats import next_down
  from hypothesis.internal.reflection import proxies
  from hypothesis.internal.validation import check_type, check_valid_bound, check_valid_integer, check_valid_interval
  from hypothesis.strategies._internal.strategies import check_strategy
  from hypothesis.strategies._internal.utils import defines_strategy
label_desc: Use image node_id 16 for calling a global function with example usage: _unsigned_integer_dtypes(xp) and returns: st