docs: def make_at_least_n_items_valid(flag_list, n):
      """
      tries to make at least min(len(flag_list, n) items True in flag_list
  
      Args:
          flag_list (list): list of booleans
          n (int): number of items to ensure are True
  
      CommandLine:
          python -m utool.util_dev --test-make_at_least_n_items_valid
  
      Example:
          >>> # ENABLE_DOCTEST
          >>> from utool.util_dev import *  # NOQA
          >>> # build test data
          >>> flag_list = [False, True, False, False, False, False, False, True]
          >>> n = 5
          >>> # execute function
          >>> flag_list = make_at_least_n_items_valid(flag_list, n)
          >>> # verify results
          >>> result = str(flag_list)
          >>> print(result)
          [ True  True  True  True False False False  True]
      """
      flag_list = np.array(flag_list)
      num_valid = flag_list.sum()
      # Find how many places we need to make true
      num_extra = min(len(flag_list) - num_valid, n - num_valid)
      # make_at_least_n_items_valid
      # Add in some extra daids to show if there are not enough
      for index in range(len(flag_list)):
          if num_extra <= 0:
              break
          if not flag_list[index]:
              flag_list[index] = True
              num_extra -= 1
      return flag_list