package utils import "strings" func DecodeHosts(input string) map[string]any { result := make(map[string]any) pairs := strings.SplitSeq(input, "\n") for pair := range pairs { if pair == "" { continue } kv := strings.Split(pair, " ") if len(kv) == 2 { key := strings.TrimSpace(kv[0]) value := strings.TrimSpace(kv[1]) if key != "" { result[key] = value } continue } if len(kv) != 0 { key := strings.TrimSpace(kv[0]) var value []string for i := 1; i < len(kv); i++ { value = append(value, kv[i]) } result[key] = value } } return result }