docs: def to_offset(freq):
      """Convert a frequency string to the appropriate subclass of
      BaseCFTimeOffset."""
      if isinstance(freq, BaseCFTimeOffset):
          return freq
      else:
          try:
              freq_data = re.match(_PATTERN, freq).groupdict()
          except AttributeError:
              raise ValueError('Invalid frequency string provided')
  
      freq = freq_data['freq']
      multiples = freq_data['multiple']
      if multiples is None:
          multiples = 1
      else:
          multiples = int(multiples)
  
      return _FREQUENCIES[freq](n=multiples)