private int mixLightnessSigned(int hsl, int lightness) {
		if (hsl == -2)
			return 0xbc614e;
		if (hsl == -1) {
			if (lightness < 0)
				lightness = 0;
			else if (lightness > 127)
				lightness = 127;
			lightness = 127 - lightness;
			return lightness;
		}
		lightness = (lightness * (hsl & 0x7f)) / 128;
		if (lightness < 2)
			lightness = 2;
		else if (lightness > 126)
			lightness = 126;
		return (hsl & 0xff80) + lightness;
	}