code: def str_min_find(
      s: str, substr_list: t.Iterable[str]
  ) -> t.Tuple[int, str]:
      """
      Find the minimal first occurence of a substring in a string, and return both the index and substring.
  
      Parameters
      ----------
      s : str
          The string in which we look for substrings
      substr_list : t.Iterable[str]
          list of substrings to find
      Returns
      -------
      min_find : int
          index of minimal first occurence of substring
      min_substr : str
          the substring that occures in said index
  
      """
      min_find = -1
      min_substr = ""
      for substr in substr_list:
          first_find = s.find(substr)
          if first_find != -1 and (
              first_find < min_find or min_find == -1
          ):
              min_find = first_find
              min_substr = substr
      return min_find, min_substr
  
imports: import io
  import itertools
  import json
  import os
  import random
  import re
  import sys
  import typing
  from collections import defaultdict
  from copy import copy
  from datetime import datetime
  from decimal import Decimal
  from string import ascii_uppercase, digits
  import numpy
  import pandas
  from ipywidgets import Widget
  from ipywidgets.embed import dependency_state, embed_data, escape_script, snippet_template, widget_view_template
  from packaging.version import Version
  from pandas.core.dtypes.common import is_numeric_dtype
  import deepchecks
  from deepchecks import core
  from deepchecks.core.resources import jupyterlab_plotly_script, requirejs_script, suite_template, widgets_script
  from deepchecks.utils.typing import Hashable
label_desc: Use image node_id 13 for calling a global function with example usage: str_min_find(s, substr_list) and returns: min_find,  min_substr