package com.jmxp;
import java.awt.Color;
import java.util.HashMap;

public class MXPColors 
{
	 private static final Color nocolor = new Color(0,0,0,0);
	 private String  COLOR_NAMES [] = { 
			  "snow",
			  "ghostwhite",
			  "whitesmoke",
			  "gainsboro",
			  "floralwhite",
			  "oldlace",
			  "linen",
			  "antiquewhite",
			  "papayawhip",
			  "blanchedalmond",
			  "bisque",
			  "peachpuff",
			  "navajowhite",
			  "moccasin",
			  "cornsilk",
			  "ivory",
			  "lemonchiffon",
			  "seashell",
			  "honeydew",
			  "mintcream",
			  "azure",
			  "aliceblue",
			  "lavender",
			  "lavenderblush",
			  "mistyrose",
			  "white",
			  "black",
			  "darkslategray",
			  "darkslategrey",
			  "dimgray",
			  "dimgrey",
			  "slategray",
			  "slategrey",
			  "lightslategray",
			  "lightslategrey",
			  "gray",
			  "grey",
			  "lightgrey",
			  "lightgray",
			  "midnightblue",
			  "navy",
			  "navyblue",
			  "cornflowerblue",
			  "darkslateblue",
			  "slateblue",
			  "mediumslateblue",
			  "lightslateblue",
			  "mediumblue",
			  "royalblue",
			  "blue",
			  "dodgerblue",
			  "deepskyblue",
			  "skyblue",
			  "lightskyblue",
			  "steelblue",
			  "lightsteelblue",
			  "lightblue",
			  "powderblue",
			  "paleturquoise",
			  "darkturquoise",
			  "mediumturquoise",
			  "turquoise",
			  "cyan",
			  "lightcyan",
			  "cadetblue",
			  "mediumaquamarine",
			  "aquamarine",
			  "darkgreen",
			  "darkolivegreen",
			  "darkseagreen",
			  "seagreen",
			  "mediumseagreen",
			  "lightseagreen",
			  "palegreen",
			  "springgreen",
			  "lawngreen",
			  "green",
			  "chartreuse",
			  "mediumspringgreen",
			  "greenyellow",
			  "limegreen",
			  "yellowgreen",
			  "forestgreen",
			  "olivedrab",
			  "darkkhaki",
			  "khaki",
			  "palegoldenrod",
			  "lightgoldenrodyellow",
			  "lightyellow",
			  "yellow",
			  "gold",
			  "lightgoldenrod",
			  "goldenrod",
			  "darkgoldenrod",
			  "rosybrown",
			  "indianred",
			  "saddlebrown",
			  "sienna",
			  "peru",
			  "burlywood",
			  "beige",
			  "wheat",
			  "sandybrown",
			  "tan",
			  "chocolate",
			  "firebrick",
			  "brown",
			  "darksalmon",
			  "salmon",
			  "lightsalmon",
			  "orange",
			  "darkorange",
			  "coral",
			  "lightcoral",
			  "tomato",
			  "orangered",
			  "red",
			  "hotpink",
			  "deeppink",
			  "pink",
			  "lightpink",
			  "palevioletred",
			  "maroon",
			  "mediumvioletred",
			  "violetred",
			  "magenta",
			  "violet",
			  "plum",
			  "orchid",
			  "mediumorchid",
			  "darkorchid",
			  "darkviolet",
			  "blueviolet",
			  "purple",
			  "mediumpurple",
			  "thistle",
			  "snow1",
			  "snow2",
			  "snow3",
			  "snow4",
			  "seashell1",
			  "seashell2",
			  "seashell3",
			  "seashell4",
			  "antiquewhite1",
			  "antiquewhite2",
			  "antiquewhite3",
			  "antiquewhite4",
			  "bisque1",
			  "bisque2",
			  "bisque3",
			  "bisque4",
			  "peachpuff1",
			  "peachpuff2",
			  "peachpuff3",
			  "peachpuff4",
			  "navajowhite1",
			  "navajowhite2",
			  "navajowhite3",
			  "navajowhite4",
			  "lemonchiffon1",
			  "lemonchiffon2",
			  "lemonchiffon3",
			  "lemonchiffon4",
			  "cornsilk1",
			  "cornsilk2",
			  "cornsilk3",
			  "cornsilk4",
			  "ivory1",
			  "ivory2",
			  "ivory3",
			  "ivory4",
			  "honeydew1",
			  "honeydew2",
			  "honeydew3",
			  "honeydew4",
			  "lavenderblush1",
			  "lavenderblush2",
			  "lavenderblush3",
			  "lavenderblush4",
			  "mistyrose1",
			  "mistyrose2",
			  "mistyrose3",
			  "mistyrose4",
			  "azure1",
			  "azure2",
			  "azure3",
			  "azure4",
			  "slateblue1",
			  "slateblue2",
			  "slateblue3",
			  "slateblue4",
			  "royalblue1",
			  "royalblue2",
			  "royalblue3",
			  "royalblue4",
			  "blue1",
			  "blue2",
			  "blue3",
			  "blue4",
			  "dodgerblue1",
			  "dodgerblue2",
			  "dodgerblue3",
			  "dodgerblue4",
			  "steelblue1",
			  "steelblue2",
			  "steelblue3",
			  "steelblue4",
			  "deepskyblue1",
			  "deepskyblue2",
			  "deepskyblue3",
			  "deepskyblue4",
			  "skyblue1",
			  "skyblue2",
			  "skyblue3",
			  "skyblue4",
			  "lightskyblue1",
			  "lightskyblue2",
			  "lightskyblue3",
			  "lightskyblue4",
			  "slategray1",
			  "slategray2",
			  "slategray3",
			  "slategray4",
			  "lightsteelblue1",
			  "lightsteelblue2",
			  "lightsteelblue3",
			  "lightsteelblue4",
			  "lightblue1",
			  "lightblue2",
			  "lightblue3",
			  "lightblue4",
			  "lightcyan1",
			  "lightcyan2",
			  "lightcyan3",
			  "lightcyan4",
			  "paleturquoise1",
			  "paleturquoise2",
			  "paleturquoise3",
			  "paleturquoise4",
			  "cadetblue1",
			  "cadetblue2",
			  "cadetblue3",
			  "cadetblue4",
			  "turquoise1",
			  "turquoise2",
			  "turquoise3",
			  "turquoise4",
			  "cyan1",
			  "cyan2",
			  "cyan3",
			  "cyan4",
			  "darkslategray1",
			  "darkslategray2",
			  "darkslategray3",
			  "darkslategray4",
			  "aquamarine1",
			  "aquamarine2",
			  "aquamarine3",
			  "aquamarine4",
			  "darkseagreen1",
			  "darkseagreen2",
			  "darkseagreen3",
			  "darkseagreen4",
			  "seagreen1",
			  "seagreen2",
			  "seagreen3",
			  "seagreen4",
			  "palegreen1",
			  "palegreen2",
			  "palegreen3",
			  "palegreen4",
			  "springgreen1",
			  "springgreen2",
			  "springgreen3",
			  "springgreen4",
			  "green1",
			  "green2",
			  "green3",
			  "green4",
			  "chartreuse1",
			  "chartreuse2",
			  "chartreuse3",
			  "chartreuse4",
			  "olivedrab1",
			  "olivedrab2",
			  "olivedrab3",
			  "olivedrab4",
			  "darkolivegreen1",
			  "darkolivegreen2",
			  "darkolivegreen3",
			  "darkolivegreen4",
			  "khaki1",
			  "khaki2",
			  "khaki3",
			  "khaki4",
			  "lightgoldenrod1",
			  "lightgoldenrod2",
			  "lightgoldenrod3",
			  "lightgoldenrod4",
			  "lightyellow1",
			  "lightyellow2",
			  "lightyellow3",
			  "lightyellow4",
			  "yellow1",
			  "yellow2",
			  "yellow3",
			  "yellow4",
			  "gold1",
			  "gold2",
			  "gold3",
			  "gold4",
			  "goldenrod1",
			  "goldenrod2",
			  "goldenrod3",
			  "goldenrod4",
			  "darkgoldenrod1",
			  "darkgoldenrod2",
			  "darkgoldenrod3",
			  "darkgoldenrod4",
			  "rosybrown1",
			  "rosybrown2",
			  "rosybrown3",
			  "rosybrown4",
			  "indianred1",
			  "indianred2",
			  "indianred3",
			  "indianred4",
			  "sienna1",
			  "sienna2",
			  "sienna3",
			  "sienna4",
			  "burlywood1",
			  "burlywood2",
			  "burlywood3",
			  "burlywood4",
			  "wheat1",
			  "wheat2",
			  "wheat3",
			  "wheat4",
			  "tan1",
			  "tan2",
			  "tan3",
			  "tan4",
			  "chocolate1",
			  "chocolate2",
			  "chocolate3",
			  "chocolate4",
			  "firebrick1",
			  "firebrick2",
			  "firebrick3",
			  "firebrick4",
			  "brown1",
			  "brown2",
			  "brown3",
			  "brown4",
			  "salmon1",
			  "salmon2",
			  "salmon3",
			  "salmon4",
			  "lightsalmon1",
			  "lightsalmon2",
			  "lightsalmon3",
			  "lightsalmon4",
			  "orange1",
			  "orange2",
			  "orange3",
			  "orange4",
			  "darkorange1",
			  "darkorange2",
			  "darkorange3",
			  "darkorange4",
			  "coral1",
			  "coral2",
			  "coral3",
			  "coral4",
			  "tomato1",
			  "tomato2",
			  "tomato3",
			  "tomato4",
			  "orangered1",
			  "orangered2",
			  "orangered3",
			  "orangered4",
			  "red1",
			  "red2",
			  "red3",
			  "red4",
			  "deeppink1",
			  "deeppink2",
			  "deeppink3",
			  "deeppink4",
			  "hotpink1",
			  "hotpink2",
			  "hotpink3",
			  "hotpink4",
			  "pink1",
			  "pink2",
			  "pink3",
			  "pink4",
			  "lightpink1",
			  "lightpink2",
			  "lightpink3",
			  "lightpink4",
			  "palevioletred1",
			  "palevioletred2",
			  "palevioletred3",
			  "palevioletred4",
			  "maroon1",
			  "maroon2",
			  "maroon3",
			  "maroon4",
			  "violetred1",
			  "violetred2",
			  "violetred3",
			  "violetred4",
			  "magenta1",
			  "magenta2",
			  "magenta3",
			  "magenta4",
			  "orchid1",
			  "orchid2",
			  "orchid3",
			  "orchid4",
			  "plum1",
			  "plum2",
			  "plum3",
			  "plum4",
			  "mediumorchid1",
			  "mediumorchid2",
			  "mediumorchid3",
			  "mediumorchid4",
			  "darkorchid1",
			  "darkorchid2",
			  "darkorchid3",
			  "darkorchid4",
			  "purple1",
			  "purple2",
			  "purple3",
			  "purple4",
			  "mediumpurple1",
			  "mediumpurple2",
			  "mediumpurple3",
			  "mediumpurple4",
			  "thistle1",
			  "thistle2",
			  "thistle3",
			  "thistle4",
			  "gray0",
			  "grey0",
			  "gray1",
			  "grey1",
			  "gray2",
			  "grey2",
			  "gray3",
			  "grey3",
			  "gray4",
			  "grey4",
			  "gray5",
			  "grey5",
			  "gray6",
			  "grey6",
			  "gray7",
			  "grey7",
			  "gray8",
			  "grey8",
			  "gray9",
			  "grey9",
			  "gray10",
			  "grey10",
			  "gray11",
			  "grey11",
			  "gray12",
			  "grey12",
			  "gray13",
			  "grey13",
			  "gray14",
			  "grey14",
			  "gray15",
			  "grey15",
			  "gray16",
			  "grey16",
			  "gray17",
			  "grey17",
			  "gray18",
			  "grey18",
			  "gray19",
			  "grey19",
			  "gray20",
			  "grey20",
			  "gray21",
			  "grey21",
			  "gray22",
			  "grey22",
			  "gray23",
			  "grey23",
			  "gray24",
			  "grey24",
			  "gray25",
			  "grey25",
			  "gray26",
			  "grey26",
			  "gray27",
			  "grey27",
			  "gray28",
			  "grey28",
			  "gray29",
			  "grey29",
			  "gray30",
			  "grey30",
			  "gray31",
			  "grey31",
			  "gray32",
			  "grey32",
			  "gray33",
			  "grey33",
			  "gray34",
			  "grey34",
			  "gray35",
			  "grey35",
			  "gray36",
			  "grey36",
			  "gray37",
			  "grey37",
			  "gray38",
			  "grey38",
			  "gray39",
			  "grey39",
			  "gray40",
			  "grey40",
			  "gray41",
			  "grey41",
			  "gray42",
			  "grey42",
			  "gray43",
			  "grey43",
			  "gray44",
			  "grey44",
			  "gray45",
			  "grey45",
			  "gray46",
			  "grey46",
			  "gray47",
			  "grey47",
			  "gray48",
			  "grey48",
			  "gray49",
			  "grey49",
			  "gray50",
			  "grey50",
			  "gray51",
			  "grey51",
			  "gray52",
			  "grey52",
			  "gray53",
			  "grey53",
			  "gray54",
			  "grey54",
			  "gray55",
			  "grey55",
			  "gray56",
			  "grey56",
			  "gray57",
			  "grey57",
			  "gray58",
			  "grey58",
			  "gray59",
			  "grey59",
			  "gray60",
			  "grey60",
			  "gray61",
			  "grey61",
			  "gray62",
			  "grey62",
			  "gray63",
			  "grey63",
			  "gray64",
			  "grey64",
			  "gray65",
			  "grey65",
			  "gray66",
			  "grey66",
			  "gray67",
			  "grey67",
			  "gray68",
			  "grey68",
			  "gray69",
			  "grey69",
			  "gray70",
			  "grey70",
			  "gray71",
			  "grey71",
			  "gray72",
			  "grey72",
			  "gray73",
			  "grey73",
			  "gray74",
			  "grey74",
			  "gray75",
			  "grey75",
			  "gray76",
			  "grey76",
			  "gray77",
			  "grey77",
			  "gray78",
			  "grey78",
			  "gray79",
			  "grey79",
			  "gray80",
			  "grey80",
			  "gray81",
			  "grey81",
			  "gray82",
			  "grey82",
			  "gray83",
			  "grey83",
			  "gray84",
			  "grey84",
			  "gray85",
			  "grey85",
			  "gray86",
			  "grey86",
			  "gray87",
			  "grey87",
			  "gray88",
			  "grey88",
			  "gray89",
			  "grey89",
			  "gray90",
			  "grey90",
			  "gray91",
			  "grey91",
			  "gray92",
			  "grey92",
			  "gray93",
			  "grey93",
			  "gray94",
			  "grey94",
			  "gray95",
			  "grey95",
			  "gray96",
			  "grey96",
			  "gray97",
			  "grey97",
			  "gray98",
			  "grey98",
			  "gray99",
			  "grey99",
			  "gray100",
			  "grey100",
			  "darkgrey",
			  "darkgray",
			  "darkblue",
			  "darkcyan",
			  "darkmagenta",
			  "darkred",
			  "lightgreen",
			};

		Color COLOR_DEF[] = {
		  new Color(255, 250, 250),
		  new Color(248, 248, 255),
		  new Color(245, 245, 245),
		  new Color(220, 220, 220),
		  new Color(255, 250, 240),
		  new Color(253, 245, 230),
		  new Color(250, 240, 230),
		  new Color(250, 235, 215),
		  new Color(255, 239, 213),
		  new Color(255, 235, 205),
		  new Color(255, 228, 196),
		  new Color(255, 218, 185),
		  new Color(255, 222, 173),
		  new Color(255, 228, 181),
		  new Color(255, 248, 220),
		  new Color(255, 255, 240),
		  new Color(255, 250, 205),
		  new Color(255, 245, 238),
		  new Color(240, 255, 240),
		  new Color(245, 255, 250),
		  new Color(240, 255, 255),
		  new Color(240, 248, 255),
		  new Color(230, 230, 250),
		  new Color(255, 240, 245),
		  new Color(255, 228, 225),
		  new Color(255, 255, 255),
		  new Color(0, 0, 0),
		  new Color(47, 79, 79),
		  new Color(47, 79, 79),
		  new Color(105, 105, 105),
		  new Color(105, 105, 105),
		  new Color(112, 128, 144),
		  new Color(112, 128, 144),
		  new Color(119, 136, 153),
		  new Color(119, 136, 153),
		  new Color(190, 190, 190),
		  new Color(190, 190, 190),
		  new Color(211, 211, 211),
		  new Color(211, 211, 211),
		  new Color(25, 25, 112),
		  new Color(0, 0, 128),
		  new Color(0, 0, 128),
		  new Color(100, 149, 237),
		  new Color(72, 61, 139),
		  new Color(106, 90, 205),
		  new Color(123, 104, 238),
		  new Color(132, 112, 255),
		  new Color(0, 0, 205),
		  new Color(65, 105, 225),
		  new Color(0, 0, 255),
		  new Color(30, 144, 255),
		  new Color(0, 191, 255),
		  new Color(135, 206, 235),
		  new Color(135, 206, 250),
		  new Color(70, 130, 180),
		  new Color(176, 196, 222),
		  new Color(173, 216, 230),
		  new Color(176, 224, 230),
		  new Color(175, 238, 238),
		  new Color(0, 206, 209),
		  new Color(72, 209, 204),
		  new Color(64, 224, 208),
		  new Color(0, 255, 255),
		  new Color(224, 255, 255),
		  new Color(95, 158, 160),
		  new Color(102, 205, 170),
		  new Color(127, 255, 212),
		  new Color(0, 100, 0),
		  new Color(85, 107, 47),
		  new Color(143, 188, 143),
		  new Color(46, 139, 87),
		  new Color(60, 179, 113),
		  new Color(32, 178, 170),
		  new Color(152, 251, 152),
		  new Color(0, 255, 127),
		  new Color(124, 252, 0),
		  new Color(0, 255, 0),
		  new Color(127, 255, 0),
		  new Color(0, 250, 154),
		  new Color(173, 255, 47),
		  new Color(50, 205, 50),
		  new Color(154, 205, 50),
		  new Color(34, 139, 34),
		  new Color(107, 142, 35),
		  new Color(189, 183, 107),
		  new Color(240, 230, 140),
		  new Color(238, 232, 170),
		  new Color(250, 250, 210),
		  new Color(255, 255, 224),
		  new Color(255, 255, 0),
		  new Color(255, 215, 0),
		  new Color(238, 221, 130),
		  new Color(218, 165, 32),
		  new Color(184, 134, 11),
		  new Color(188, 143, 143),
		  new Color(205, 92, 92),
		  new Color(139, 69, 19),
		  new Color(160, 82, 45),
		  new Color(205, 133, 63),
		  new Color(222, 184, 135),
		  new Color(245, 245, 220),
		  new Color(245, 222, 179),
		  new Color(244, 164, 96),
		  new Color(210, 180, 140),
		  new Color(210, 105, 30),
		  new Color(178, 34, 34),
		  new Color(165, 42, 42),
		  new Color(233, 150, 122),
		  new Color(250, 128, 114),
		  new Color(255, 160, 122),
		  new Color(255, 165, 0),
		  new Color(255, 140, 0),
		  new Color(255, 127, 80),
		  new Color(240, 128, 128),
		  new Color(255, 99, 71),
		  new Color(255, 69, 0),
		  new Color(255, 0, 0),
		  new Color(255, 105, 180),
		  new Color(255, 20, 147),
		  new Color(255, 192, 203),
		  new Color(255, 182, 193),
		  new Color(219, 112, 147),
		  new Color(176, 48, 96),
		  new Color(199, 21, 133),
		  new Color(208, 32, 144),
		  new Color(255, 0, 255),
		  new Color(238, 130, 238),
		  new Color(221, 160, 221),
		  new Color(218, 112, 214),
		  new Color(186, 85, 211),
		  new Color(153, 50, 204),
		  new Color(148, 0, 211),
		  new Color(138, 43, 226),
		  new Color(160, 32, 240),
		  new Color(147, 112, 219),
		  new Color(216, 191, 216),
		  new Color(255, 250, 250),
		  new Color(238, 233, 233),
		  new Color(205, 201, 201),
		  new Color(139, 137, 137),
		  new Color(255, 245, 238),
		  new Color(238, 229, 222),
		  new Color(205, 197, 191),
		  new Color(139, 134, 130),
		  new Color(255, 239, 219),
		  new Color(238, 223, 204),
		  new Color(205, 192, 176),
		  new Color(139, 131, 120),
		  new Color(255, 228, 196),
		  new Color(238, 213, 183),
		  new Color(205, 183, 158),
		  new Color(139, 125, 107),
		  new Color(255, 218, 185),
		  new Color(238, 203, 173),
		  new Color(205, 175, 149),
		  new Color(139, 119, 101),
		  new Color(255, 222, 173),
		  new Color(238, 207, 161),
		  new Color(205, 179, 139),
		  new Color(139, 121, 94),
		  new Color(255, 250, 205),
		  new Color(238, 233, 191),
		  new Color(205, 201, 165),
		  new Color(139, 137, 112),
		  new Color(255, 248, 220),
		  new Color(238, 232, 205),
		  new Color(205, 200, 177),
		  new Color(139, 136, 120),
		  new Color(255, 255, 240),
		  new Color(238, 238, 224),
		  new Color(205, 205, 193),
		  new Color(139, 139, 131),
		  new Color(240, 255, 240),
		  new Color(224, 238, 224),
		  new Color(193, 205, 193),
		  new Color(131, 139, 131),
		  new Color(255, 240, 245),
		  new Color(238, 224, 229),
		  new Color(205, 193, 197),
		  new Color(139, 131, 134),
		  new Color(255, 228, 225),
		  new Color(238, 213, 210),
		  new Color(205, 183, 181),
		  new Color(139, 125, 123),
		  new Color(240, 255, 255),
		  new Color(224, 238, 238),
		  new Color(193, 205, 205),
		  new Color(131, 139, 139),
		  new Color(131, 111, 255),
		  new Color(122, 103, 238),
		  new Color(105, 89, 205),
		  new Color(71, 60, 139),
		  new Color(72, 118, 255),
		  new Color(67, 110, 238),
		  new Color(58, 95, 205),
		  new Color(39, 64, 139),
		  new Color(0, 0, 255),
		  new Color(0, 0, 238),
		  new Color(0, 0, 205),
		  new Color(0, 0, 139),
		  new Color(30, 144, 255),
		  new Color(28, 134, 238),
		  new Color(24, 116, 205),
		  new Color(16, 78, 139),
		  new Color(99, 184, 255),
		  new Color(92, 172, 238),
		  new Color(79, 148, 205),
		  new Color(54, 100, 139),
		  new Color(0, 191, 255),
		  new Color(0, 178, 238),
		  new Color(0, 154, 205),
		  new Color(0, 104, 139),
		  new Color(135, 206, 255),
		  new Color(126, 192, 238),
		  new Color(108, 166, 205),
		  new Color(74, 112, 139),
		  new Color(176, 226, 255),
		  new Color(164, 211, 238),
		  new Color(141, 182, 205),
		  new Color(96, 123, 139),
		  new Color(198, 226, 255),
		  new Color(185, 211, 238),
		  new Color(159, 182, 205),
		  new Color(108, 123, 139),
		  new Color(202, 225, 255),
		  new Color(188, 210, 238),
		  new Color(162, 181, 205),
		  new Color(110, 123, 139),
		  new Color(191, 239, 255),
		  new Color(178, 223, 238),
		  new Color(154, 192, 205),
		  new Color(104, 131, 139),
		  new Color(224, 255, 255),
		  new Color(209, 238, 238),
		  new Color(180, 205, 205),
		  new Color(122, 139, 139),
		  new Color(187, 255, 255),
		  new Color(174, 238, 238),
		  new Color(150, 205, 205),
		  new Color(102, 139, 139),
		  new Color(152, 245, 255),
		  new Color(142, 229, 238),
		  new Color(122, 197, 205),
		  new Color(83, 134, 139),
		  new Color(0, 245, 255),
		  new Color(0, 229, 238),
		  new Color(0, 197, 205),
		  new Color(0, 134, 139),
		  new Color(0, 255, 255),
		  new Color(0, 238, 238),
		  new Color(0, 205, 205),
		  new Color(0, 139, 139),
		  new Color(151, 255, 255),
		  new Color(141, 238, 238),
		  new Color(121, 205, 205),
		  new Color(82, 139, 139),
		  new Color(127, 255, 212),
		  new Color(118, 238, 198),
		  new Color(102, 205, 170),
		  new Color(69, 139, 116),
		  new Color(193, 255, 193),
		  new Color(180, 238, 180),
		  new Color(155, 205, 155),
		  new Color(105, 139, 105),
		  new Color(84, 255, 159),
		  new Color(78, 238, 148),
		  new Color(67, 205, 128),
		  new Color(46, 139, 87),
		  new Color(154, 255, 154),
		  new Color(144, 238, 144),
		  new Color(124, 205, 124),
		  new Color(84, 139, 84),
		  new Color(0, 255, 127),
		  new Color(0, 238, 118),
		  new Color(0, 205, 102),
		  new Color(0, 139, 69),
		  new Color(0, 255, 0),
		  new Color(0, 238, 0),
		  new Color(0, 205, 0),
		  new Color(0, 139, 0),
		  new Color(127, 255, 0),
		  new Color(118, 238, 0),
		  new Color(102, 205, 0),
		  new Color(69, 139, 0),
		  new Color(192, 255, 62),
		  new Color(179, 238, 58),
		  new Color(154, 205, 50),
		  new Color(105, 139, 34),
		  new Color(202, 255, 112),
		  new Color(188, 238, 104),
		  new Color(162, 205, 90),
		  new Color(110, 139, 61),
		  new Color(255, 246, 143),
		  new Color(238, 230, 133),
		  new Color(205, 198, 115),
		  new Color(139, 134, 78),
		  new Color(255, 236, 139),
		  new Color(238, 220, 130),
		  new Color(205, 190, 112),
		  new Color(139, 129, 76),
		  new Color(255, 255, 224),
		  new Color(238, 238, 209),
		  new Color(205, 205, 180),
		  new Color(139, 139, 122),
		  new Color(255, 255, 0),
		  new Color(238, 238, 0),
		  new Color(205, 205, 0),
		  new Color(139, 139, 0),
		  new Color(255, 215, 0),
		  new Color(238, 201, 0),
		  new Color(205, 173, 0),
		  new Color(139, 117, 0),
		  new Color(255, 193, 37),
		  new Color(238, 180, 34),
		  new Color(205, 155, 29),
		  new Color(139, 105, 20),
		  new Color(255, 185, 15),
		  new Color(238, 173, 14),
		  new Color(205, 149, 12),
		  new Color(139, 101, 8),
		  new Color(255, 193, 193),
		  new Color(238, 180, 180),
		  new Color(205, 155, 155),
		  new Color(139, 105, 105),
		  new Color(255, 106, 106),
		  new Color(238, 99, 99),
		  new Color(205, 85, 85),
		  new Color(139, 58, 58),
		  new Color(255, 130, 71),
		  new Color(238, 121, 66),
		  new Color(205, 104, 57),
		  new Color(139, 71, 38),
		  new Color(255, 211, 155),
		  new Color(238, 197, 145),
		  new Color(205, 170, 125),
		  new Color(139, 115, 85),
		  new Color(255, 231, 186),
		  new Color(238, 216, 174),
		  new Color(205, 186, 150),
		  new Color(139, 126, 102),
		  new Color(255, 165, 79),
		  new Color(238, 154, 73),
		  new Color(205, 133, 63),
		  new Color(139, 90, 43),
		  new Color(255, 127, 36),
		  new Color(238, 118, 33),
		  new Color(205, 102, 29),
		  new Color(139, 69, 19),
		  new Color(255, 48, 48),
		  new Color(238, 44, 44),
		  new Color(205, 38, 38),
		  new Color(139, 26, 26),
		  new Color(255, 64, 64),
		  new Color(238, 59, 59),
		  new Color(205, 51, 51),
		  new Color(139, 35, 35),
		  new Color(255, 140, 105),
		  new Color(238, 130, 98),
		  new Color(205, 112, 84),
		  new Color(139, 76, 57),
		  new Color(255, 160, 122),
		  new Color(238, 149, 114),
		  new Color(205, 129, 98),
		  new Color(139, 87, 66),
		  new Color(255, 165, 0),
		  new Color(238, 154, 0),
		  new Color(205, 133, 0),
		  new Color(139, 90, 0),
		  new Color(255, 127, 0),
		  new Color(238, 118, 0),
		  new Color(205, 102, 0),
		  new Color(139, 69, 0),
		  new Color(255, 114, 86),
		  new Color(238, 106, 80),
		  new Color(205, 91, 69),
		  new Color(139, 62, 47),
		  new Color(255, 99, 71),
		  new Color(238, 92, 66),
		  new Color(205, 79, 57),
		  new Color(139, 54, 38),
		  new Color(255, 69, 0),
		  new Color(238, 64, 0),
		  new Color(205, 55, 0),
		  new Color(139, 37, 0),
		  new Color(255, 0, 0),
		  new Color(238, 0, 0),
		  new Color(205, 0, 0),
		  new Color(139, 0, 0),
		  new Color(255, 20, 147),
		  new Color(238, 18, 137),
		  new Color(205, 16, 118),
		  new Color(139, 10, 80),
		  new Color(255, 110, 180),
		  new Color(238, 106, 167),
		  new Color(205, 96, 144),
		  new Color(139, 58, 98),
		  new Color(255, 181, 197),
		  new Color(238, 169, 184),
		  new Color(205, 145, 158),
		  new Color(139, 99, 108),
		  new Color(255, 174, 185),
		  new Color(238, 162, 173),
		  new Color(205, 140, 149),
		  new Color(139, 95, 101),
		  new Color(255, 130, 171),
		  new Color(238, 121, 159),
		  new Color(205, 104, 137),
		  new Color(139, 71, 93),
		  new Color(255, 52, 179),
		  new Color(238, 48, 167),
		  new Color(205, 41, 144),
		  new Color(139, 28, 98),
		  new Color(255, 62, 150),
		  new Color(238, 58, 140),
		  new Color(205, 50, 120),
		  new Color(139, 34, 82),
		  new Color(255, 0, 255),
		  new Color(238, 0, 238),
		  new Color(205, 0, 205),
		  new Color(139, 0, 139),
		  new Color(255, 131, 250),
		  new Color(238, 122, 233),
		  new Color(205, 105, 201),
		  new Color(139, 71, 137),
		  new Color(255, 187, 255),
		  new Color(238, 174, 238),
		  new Color(205, 150, 205),
		  new Color(139, 102, 139),
		  new Color(224, 102, 255),
		  new Color(209, 95, 238),
		  new Color(180, 82, 205),
		  new Color(122, 55, 139),
		  new Color(191, 62, 255),
		  new Color(178, 58, 238),
		  new Color(154, 50, 205),
		  new Color(104, 34, 139),
		  new Color(155, 48, 255),
		  new Color(145, 44, 238),
		  new Color(125, 38, 205),
		  new Color(85, 26, 139),
		  new Color(171, 130, 255),
		  new Color(159, 121, 238),
		  new Color(137, 104, 205),
		  new Color(93, 71, 139),
		  new Color(255, 225, 255),
		  new Color(238, 210, 238),
		  new Color(205, 181, 205),
		  new Color(139, 123, 139),
		  new Color(0, 0, 0),
		  new Color(0, 0, 0),
		  new Color(3, 3, 3),
		  new Color(3, 3, 3),
		  new Color(5, 5, 5),
		  new Color(5, 5, 5),
		  new Color(8, 8, 8),
		  new Color(8, 8, 8),
		  new Color(10, 10, 10),
		  new Color(10, 10, 10),
		  new Color(13, 13, 13),
		  new Color(13, 13, 13),
		  new Color(15, 15, 15),
		  new Color(15, 15, 15),
		  new Color(18, 18, 18),
		  new Color(18, 18, 18),
		  new Color(20, 20, 20),
		  new Color(20, 20, 20),
		  new Color(23, 23, 23),
		  new Color(23, 23, 23),
		  new Color(26, 26, 26),
		  new Color(26, 26, 26),
		  new Color(28, 28, 28),
		  new Color(28, 28, 28),
		  new Color(31, 31, 31),
		  new Color(31, 31, 31),
		  new Color(33, 33, 33),
		  new Color(33, 33, 33),
		  new Color(36, 36, 36),
		  new Color(36, 36, 36),
		  new Color(38, 38, 38),
		  new Color(38, 38, 38),
		  new Color(41, 41, 41),
		  new Color(41, 41, 41),
		  new Color(43, 43, 43),
		  new Color(43, 43, 43),
		  new Color(46, 46, 46),
		  new Color(46, 46, 46),
		  new Color(48, 48, 48),
		  new Color(48, 48, 48),
		  new Color(51, 51, 51),
		  new Color(51, 51, 51),
		  new Color(54, 54, 54),
		  new Color(54, 54, 54),
		  new Color(56, 56, 56),
		  new Color(56, 56, 56),
		  new Color(59, 59, 59),
		  new Color(59, 59, 59),
		  new Color(61, 61, 61),
		  new Color(61, 61, 61),
		  new Color(64, 64, 64),
		  new Color(64, 64, 64),
		  new Color(66, 66, 66),
		  new Color(66, 66, 66),
		  new Color(69, 69, 69),
		  new Color(69, 69, 69),
		  new Color(71, 71, 71),
		  new Color(71, 71, 71),
		  new Color(74, 74, 74),
		  new Color(74, 74, 74),
		  new Color(77, 77, 77),
		  new Color(77, 77, 77),
		  new Color(79, 79, 79),
		  new Color(79, 79, 79),
		  new Color(82, 82, 82),
		  new Color(82, 82, 82),
		  new Color(84, 84, 84),
		  new Color(84, 84, 84),
		  new Color(87, 87, 87),
		  new Color(87, 87, 87),
		  new Color(89, 89, 89),
		  new Color(89, 89, 89),
		  new Color(92, 92, 92),
		  new Color(92, 92, 92),
		  new Color(94, 94, 94),
		  new Color(94, 94, 94),
		  new Color(97, 97, 97),
		  new Color(97, 97, 97),
		  new Color(99, 99, 99),
		  new Color(99, 99, 99),
		  new Color(102, 102, 102),
		  new Color(102, 102, 102),
		  new Color(105, 105, 105),
		  new Color(105, 105, 105),
		  new Color(107, 107, 107),
		  new Color(107, 107, 107),
		  new Color(110, 110, 110),
		  new Color(110, 110, 110),
		  new Color(112, 112, 112),
		  new Color(112, 112, 112),
		  new Color(115, 115, 115),
		  new Color(115, 115, 115),
		  new Color(117, 117, 117),
		  new Color(117, 117, 117),
		  new Color(120, 120, 120),
		  new Color(120, 120, 120),
		  new Color(122, 122, 122),
		  new Color(122, 122, 122),
		  new Color(125, 125, 125),
		  new Color(125, 125, 125),
		  new Color(127, 127, 127),
		  new Color(127, 127, 127),
		  new Color(130, 130, 130),
		  new Color(130, 130, 130),
		  new Color(133, 133, 133),
		  new Color(133, 133, 133),
		  new Color(135, 135, 135),
		  new Color(135, 135, 135),
		  new Color(138, 138, 138),
		  new Color(138, 138, 138),
		  new Color(140, 140, 140),
		  new Color(140, 140, 140),
		  new Color(143, 143, 143),
		  new Color(143, 143, 143),
		  new Color(145, 145, 145),
		  new Color(145, 145, 145),
		  new Color(148, 148, 148),
		  new Color(148, 148, 148),
		  new Color(150, 150, 150),
		  new Color(150, 150, 150),
		  new Color(153, 153, 153),
		  new Color(153, 153, 153),
		  new Color(156, 156, 156),
		  new Color(156, 156, 156),
		  new Color(158, 158, 158),
		  new Color(158, 158, 158),
		  new Color(161, 161, 161),
		  new Color(161, 161, 161),
		  new Color(163, 163, 163),
		  new Color(163, 163, 163),
		  new Color(166, 166, 166),
		  new Color(166, 166, 166),
		  new Color(168, 168, 168),
		  new Color(168, 168, 168),
		  new Color(171, 171, 171),
		  new Color(171, 171, 171),
		  new Color(173, 173, 173),
		  new Color(173, 173, 173),
		  new Color(176, 176, 176),
		  new Color(176, 176, 176),
		  new Color(179, 179, 179),
		  new Color(179, 179, 179),
		  new Color(181, 181, 181),
		  new Color(181, 181, 181),
		  new Color(184, 184, 184),
		  new Color(184, 184, 184),
		  new Color(186, 186, 186),
		  new Color(186, 186, 186),
		  new Color(189, 189, 189),
		  new Color(189, 189, 189),
		  new Color(191, 191, 191),
		  new Color(191, 191, 191),
		  new Color(194, 194, 194),
		  new Color(194, 194, 194),
		  new Color(196, 196, 196),
		  new Color(196, 196, 196),
		  new Color(199, 199, 199),
		  new Color(199, 199, 199),
		  new Color(201, 201, 201),
		  new Color(201, 201, 201),
		  new Color(204, 204, 204),
		  new Color(204, 204, 204),
		  new Color(207, 207, 207),
		  new Color(207, 207, 207),
		  new Color(209, 209, 209),
		  new Color(209, 209, 209),
		  new Color(212, 212, 212),
		  new Color(212, 212, 212),
		  new Color(214, 214, 214),
		  new Color(214, 214, 214),
		  new Color(217, 217, 217),
		  new Color(217, 217, 217),
		  new Color(219, 219, 219),
		  new Color(219, 219, 219),
		  new Color(222, 222, 222),
		  new Color(222, 222, 222),
		  new Color(224, 224, 224),
		  new Color(224, 224, 224),
		  new Color(227, 227, 227),
		  new Color(227, 227, 227),
		  new Color(229, 229, 229),
		  new Color(229, 229, 229),
		  new Color(232, 232, 232),
		  new Color(232, 232, 232),
		  new Color(235, 235, 235),
		  new Color(235, 235, 235),
		  new Color(237, 237, 237),
		  new Color(237, 237, 237),
		  new Color(240, 240, 240),
		  new Color(240, 240, 240),
		  new Color(242, 242, 242),
		  new Color(242, 242, 242),
		  new Color(245, 245, 245),
		  new Color(245, 245, 245),
		  new Color(247, 247, 247),
		  new Color(247, 247, 247),
		  new Color(250, 250, 250),
		  new Color(250, 250, 250),
		  new Color(252, 252, 252),
		  new Color(252, 252, 252),
		  new Color(255, 255, 255),
		  new Color(255, 255, 255),
		  new Color(169, 169, 169),
		  new Color(169, 169, 169),
		  new Color(0, 0, 139),
		  new Color(0, 139, 139),
		  new Color(139, 0, 139),
		  new Color(139, 0, 0),
		  new Color(144, 238, 144),
	 };

	 private static final int NUM_MXP_COLORS = 657;
	 
	 private HashMap<String, Color> colors;

	 /**
	  * Constructor
	  */
	 public MXPColors()
	 {
		 colors = new HashMap<String, Color>();
		 //fill in the colors mapping...
		 for (int i = 0; i < NUM_MXP_COLORS; i++)
		 {
			 addColor(COLOR_NAMES[i], COLOR_DEF[i]);
		 }
	 }
	 
	 public void addColor( String color_name, Color value )
	 {
		 colors.put(color_name, value);
	 }
	 
	 public static Color noColor()
	 {
		 return nocolor;
	 }
	 
	 public Color getColor(String color)
	 {
		 Color result = nocolor;
		 color = color.toLowerCase();
		 if ((color.length() == 7) && (color.charAt(0) == '#'))
		 {
			 color = color.substring(1, 6);
			 int rgb = Integer.parseInt(color, 16);
			 result = new Color(rgb);
		 }
		 if ( colors.containsKey(color ))
		 {
			 result = colors.get(color);
		 }
		 return result;
	 }

	 public void removeColor (String color)
	 {
		 colors.remove(color);
	 }
	 
	 // singletone routines
	 private static MXPColors instance = new MXPColors();
	 /** 
	  * return an instance of this class 
	  */
	 public static MXPColors self()
	 {
		 return instance;
	 }
	 
}