code: def get_offset(name):
      
      if name not in libfreqs._dont_uppercase:
          name = name.upper()
          name = libfreqs._lite_rule_alias.get(name, name)
          name = libfreqs._lite_rule_alias.get(name.lower(), name)
      else:
          name = libfreqs._lite_rule_alias.get(name, name)
  
      if name not in _offset_map:
          try:
              split = name.split('-')
              klass = prefix_mapping[split[0]]
              # handles case where there's no suffix (and will TypeError if too
              # many '-')
              offset = klass._from_name(*split[1:])
          except (ValueError, TypeError, KeyError):
              # bad prefix or suffix
              raise ValueError(libfreqs.INVALID_FREQ_ERR_MSG.format(name))
          # cache
          _offset_map[name] = offset
  
      return _offset_map[name]
docs: Return DateOffset object associated with rule name
  
      Examples
      --------
      get_offset('EOM') --> BMonthEnd(1)