// Path: src/main/java/org/fusesource/jansi/Ansi.java
// public enum Attribute {
//     RESET(0, "RESET"),
//     INTENSITY_BOLD(1, "INTENSITY_BOLD"),
//     INTENSITY_FAINT(2, "INTENSITY_FAINT"),
//     ITALIC(3, "ITALIC_ON"),
//     UNDERLINE(4, "UNDERLINE_ON"),
//     BLINK_SLOW(5, "BLINK_SLOW"),
//     BLINK_FAST(6, "BLINK_FAST"),
//     NEGATIVE_ON(7, "NEGATIVE_ON"),
//     CONCEAL_ON(8, "CONCEAL_ON"),
//     STRIKETHROUGH_ON(9, "STRIKETHROUGH_ON"),
//     UNDERLINE_DOUBLE(21, "UNDERLINE_DOUBLE"),
//     INTENSITY_BOLD_OFF(22, "INTENSITY_BOLD_OFF"),
//     ITALIC_OFF(23, "ITALIC_OFF"),
//     UNDERLINE_OFF(24, "UNDERLINE_OFF"),
//     BLINK_OFF(25, "BLINK_OFF"),
//     NEGATIVE_OFF(27, "NEGATIVE_OFF"),
//     CONCEAL_OFF(28, "CONCEAL_OFF"),
//     STRIKETHROUGH_OFF(29, "STRIKETHROUGH_OFF");
// 
//     private final int value;
//     private final String name;
// 
//     Attribute(int index, String name) {
//         this.value = index;
//         this.name = name;
//     }
// 
//     @Override
//     public String toString() {
//         return name;
//     }
// 
//     public int value() {
//         return value;
//     }
// 
// }
// 
// Path: src/main/java/org/fusesource/jansi/Ansi.java
// public enum Color {
//     BLACK(0, "BLACK"),
//     RED(1, "RED"),
//     GREEN(2, "GREEN"),
//     YELLOW(3, "YELLOW"),
//     BLUE(4, "BLUE"),
//     MAGENTA(5, "MAGENTA"),
//     CYAN(6, "CYAN"),
//     WHITE(7, "WHITE"),
//     DEFAULT(9, "DEFAULT");
// 
//     private final int value;
//     private final String name;
// 
//     Color(int index, String name) {
//         this.value = index;
//         this.name = name;
//     }
// 
//     @Override
//     public String toString() {
//         return name;
//     }
// 
//     public int value() {
//         return value;
//     }
// 
//     public int fg() {
//         return value + 30;
//     }
// 
//     public int bg() {
//         return value + 40;
//     }
// 
//     public int fgBright() {
//         return value + 90;
//     }
// 
//     public int bgBright() {
//         return value + 100;
//     }
// }


import java.io.IOException;
import java.util.Locale;
import org.fusesource.jansi.Ansi.Attribute;
import org.fusesource.jansi.Ansi.Color;
        return renderCodes(codes.split("\\s"));
    }

    private static Ansi render(Ansi ansi, String... names) {
        for (String name : names) {
            Code code = Code.valueOf(name.toUpperCase(Locale.ENGLISH));
            if (code.isColor()) {
                if (code.isBackground()) {
                    ansi.bg(code.getColor());
                } else {
                    ansi.fg(code.getColor());
                }
            } else if (code.isAttribute()) {
                ansi.a(code.getAttribute());
            }
        }
        return ansi;
    }

    public static boolean test(final String text) {
        return text != null && text.contains(BEGIN_TOKEN);
    }

    @SuppressWarnings("unused")
    public enum Code {
        //
        // TODO: Find a better way to keep Code in sync with Color/Attribute/Erase
        //

        // Colors
// Path: src/main/java/org/fusesource/jansi/Ansi.java
// public enum Attribute {
//     RESET(0, "RESET"),
//     INTENSITY_BOLD(1, "INTENSITY_BOLD"),
//     INTENSITY_FAINT(2, "INTENSITY_FAINT"),
//     ITALIC(3, "ITALIC_ON"),
//     UNDERLINE(4, "UNDERLINE_ON"),
//     BLINK_SLOW(5, "BLINK_SLOW"),
//     BLINK_FAST(6, "BLINK_FAST"),
//     NEGATIVE_ON(7, "NEGATIVE_ON"),
//     CONCEAL_ON(8, "CONCEAL_ON"),
//     STRIKETHROUGH_ON(9, "STRIKETHROUGH_ON"),
//     UNDERLINE_DOUBLE(21, "UNDERLINE_DOUBLE"),
//     INTENSITY_BOLD_OFF(22, "INTENSITY_BOLD_OFF"),
//     ITALIC_OFF(23, "ITALIC_OFF"),
//     UNDERLINE_OFF(24, "UNDERLINE_OFF"),
//     BLINK_OFF(25, "BLINK_OFF"),
//     NEGATIVE_OFF(27, "NEGATIVE_OFF"),
//     CONCEAL_OFF(28, "CONCEAL_OFF"),
//     STRIKETHROUGH_OFF(29, "STRIKETHROUGH_OFF");
// 
//     private final int value;
//     private final String name;
// 
//     Attribute(int index, String name) {
//         this.value = index;
//         this.name = name;
//     }
// 
//     @Override
//     public String toString() {
//         return name;
//     }
// 
//     public int value() {
//         return value;
//     }
// 
// }
// 
// Path: src/main/java/org/fusesource/jansi/Ansi.java
// public enum Color {
//     BLACK(0, "BLACK"),
//     RED(1, "RED"),
//     GREEN(2, "GREEN"),
//     YELLOW(3, "YELLOW"),
//     BLUE(4, "BLUE"),
//     MAGENTA(5, "MAGENTA"),
//     CYAN(6, "CYAN"),
//     WHITE(7, "WHITE"),
//     DEFAULT(9, "DEFAULT");
// 
//     private final int value;
//     private final String name;
// 
//     Color(int index, String name) {
//         this.value = index;
//         this.name = name;
//     }
// 
//     @Override
//     public String toString() {
//         return name;
//     }
// 
//     public int value() {
//         return value;
//     }
// 
//     public int fg() {
//         return value + 30;
//     }
// 
//     public int bg() {
//         return value + 40;
//     }
// 
//     public int fgBright() {
//         return value + 90;
//     }
// 
//     public int bgBright() {
//         return value + 100;
//     }
// }


// Path: src/main/java/org/fusesource/jansi/AnsiRenderer.java
import java.io.IOException;
import java.util.Locale;
import org.fusesource.jansi.Ansi.Attribute;
import org.fusesource.jansi.Ansi.Color;

        return renderCodes(codes.split("\\s"));
    }

    private static Ansi render(Ansi ansi, String... names) {
        for (String name : names) {
            Code code = Code.valueOf(name.toUpperCase(Locale.ENGLISH));
            if (code.isColor()) {
                if (code.isBackground()) {
                    ansi.bg(code.getColor());
                } else {
                    ansi.fg(code.getColor());
                }
            } else if (code.isAttribute()) {
                ansi.a(code.getAttribute());
            }
        }
        return ansi;
    }

    public static boolean test(final String text) {
        return text != null && text.contains(BEGIN_TOKEN);
    }

    @SuppressWarnings("unused")
    public enum Code {
        //
        // TODO: Find a better way to keep Code in sync with Color/Attribute/Erase
        //

        // Colors
        BLACK(Color.BLACK),