pub const PEC_PALETTE: [(u8, u8, u8); 65] = [
(0, 0, 0), (14, 31, 124), (10, 85, 163), (0, 135, 119), (75, 107, 175), (237, 23, 31), (209, 92, 0), (145, 54, 151), (228, 154, 203), (145, 95, 172), (158, 214, 125), (232, 169, 0), (254, 186, 53), (255, 255, 0), (112, 188, 31), (186, 152, 0), (168, 168, 168), (125, 111, 0), (255, 255, 179), (79, 85, 86), (0, 0, 0), (11, 61, 145), (119, 1, 118), (41, 49, 51), (42, 19, 1), (246, 74, 138), (178, 118, 36), (252, 187, 197), (254, 55, 15), (240, 240, 240), (106, 28, 138), (168, 221, 196), (37, 132, 187), (254, 179, 67), (255, 243, 107), (208, 166, 96), (209, 84, 0), (102, 186, 73), (19, 74, 70), (135, 135, 135), (216, 204, 198), (67, 86, 7), (253, 217, 222), (249, 147, 188), (0, 56, 34), (178, 175, 212), (104, 106, 176), (239, 227, 185), (247, 56, 102), (181, 75, 100), (19, 43, 26), (199, 1, 86), (254, 158, 50), (168, 222, 235), (0, 103, 62), (78, 41, 144), (47, 126, 32), (255, 204, 204), (255, 217, 17), (9, 91, 166), (240, 249, 112), (227, 243, 91), (255, 153, 0), (255, 240, 141), (255, 200, 200), ];
pub const DEFAULT_PALETTE: [(u8, u8, u8); 12] = [
(0, 0, 0), (237, 23, 31), (10, 85, 163), (0, 135, 119), (254, 186, 53), (145, 54, 151), (112, 188, 31), (42, 19, 1), (37, 132, 187), (246, 74, 138), (186, 152, 0), (106, 28, 138), ];
pub fn pec_color(idx: u8) -> (u8, u8, u8) {
PEC_PALETTE[(idx as usize).min(PEC_PALETTE.len() - 1)]
}
pub fn default_colors(n: usize) -> Vec<(u8, u8, u8)> {
(0..n)
.map(|i| DEFAULT_PALETTE[i % DEFAULT_PALETTE.len()])
.collect()
}