code: def slice_locs(self, start=None, end=None, step=None, kind=None):
          
          # This function adds nothing to its parent implementation (the magic
          # happens in get_slice_bound method), but it adds meaningful doc.
          return super().slice_locs(start, end, step, kind=kind)
docs: For an ordered MultiIndex, compute the slice locations for input
          labels.
  
          The input labels can be tuples representing partial levels, e.g. for a
          MultiIndex with 3 levels, you can pass a single value (corresponding to
          the first level), or a 1-, 2-, or 3-tuple.
  
          Parameters
          ----------
          start : label or tuple, default None
              If None, defaults to the beginning
          end : label or tuple
              If None, defaults to the end
          step : int or None
              Slice step
          kind : string, optional, defaults None
  
          Returns
          -------
          (start, end) : (int, int)
  
          Notes
          -----
          This method only works if the MultiIndex is properly lexsorted. So,
          if only the first 2 levels of a 3-level MultiIndex are lexsorted,
          you can only pass two levels to ``.slice_locs``.
  
          Examples
          --------
          >>> mi = pd.MultiIndex.from_arrays([list('abbd'), list('deff')],
          ...                                names=['A', 'B'])
  
          Get the slice locations from the beginning of 'b' in the first level
          until the end of the multiindex:
  
          >>> mi.slice_locs(start='b')
          (1, 4)
  
          Like above, but stop at the end of 'b' in the first level and 'f' in
          the second level:
  
          >>> mi.slice_locs(start='b', end=('b', 'f'))
          (1, 3)
  
          See Also
          --------
          MultiIndex.get_loc : Get location for a label or a tuple of labels.
          MultiIndex.get_locs : Get location for a label/slice/list/mask or a
                                sequence of such.