code: def descendants_at_distance(G, source, distance):
      G = _check_G_and_source(G, source)
      if distance is None or distance < 0:
          return set()
      if distance == 0:
          return {source}
  
      src_index = source if G.key_to_id is None else G.key_to_id[source]
      distances, predecessors, node_ids = plc.bfs(
          handle=plc.ResourceHandle(),
          graph=G._get_plc_graph(),
          sources=cp.array([src_index], dtype=index_dtype),
          direction_optimizing=False,
          depth_limit=distance,
          compute_predecessors=False,
          do_expensive_check=False,
      )
      mask = distances == distance
      node_ids = node_ids[mask]
      return G._nodearray_to_set(node_ids)
  
imports: from itertools import repeat
  import cupy
  import networkx
  import numpy
  import pylibcugraph
  import nx_cugraph
  from nx_cugraph.convert import _to_graph
  from nx_cugraph.utils import _groupby, index_dtype, networkx_algorithm
label_desc: Use image node_id 14 for calling a global function with example usage: descendants_at_distance(G, source, distance) and returns: G, set, unknown