package rainbowPackage;

import javafx.scene.paint.Paint.*;
import javafx.scene.image.PixelReader;
import javafx.scene.paint.Color;
import java.awt.Dimension;

public class RainbowSoft2D //RainbowSoft2D Houses A Series Of RainbowVideo.java Videos Or RainbowColorCodeSchemes.java For Frames

//FOR RainbowColorCodeSchemes.java! To Use RainbowSoftColorCodes And Access RainbowPattern2D.java Classes. This Class RainbowSoft2D Deals With Color Coding On 1 Layers To Make A Frame For RainbowVideo.java Which Accesses
{						   //This Class
	public double[] rgb = {0,0,0}, argb = {0,0,0,1};
	public Color fxColor;
	public Color[] fxColorArray = { fxColor.PINK, fxColor.SKYBLUE };
	//public TransparencySlider tempTransparencySlider = new TransparencySlider();
	public RainbowSoftColorCodesSets rainbowSoftColorCodesSets;
	public double ColorBeingChecked = 0, OpacityBeingChecked = 1, sliderValue = 0, originalFormulaValue = 0, numberOfTransitions = 0, coreVariable = 0, coreTranisitionVariable = 0;
	public RainbowSoftColor rainbowSoftColor = new RainbowSoftColor( new double[]{0,0,0,1} );
	public RainbowPattern2D pattern2D = new RainbowPattern2D( new double[]{0,0,0,1} );
	//public boolean someTargetColorHit = true, someTargetColorInTheCenterHit = false, greenBlueGreenUsed = false, otherBrowserColorHit = false, makePixelTransparent = false, aColorBarHit = false, aWheelDiamondHit = false, wheelTipsHit = false;
	static final int maxIndexOfHorizontalColorBars = 17, maxIndexOfVerticalColorBars = 3;
	int colorBarIndex = 0, colorBarCheck = 0, colorBarDistance = 0;									
	int eightColorDiamondsIndex = 0;

	public RainbowSoft2D( Color FXColor )//Creates Class And Sets Color With JavaFX Color Class //
	{
		fxColor = FXColor;
		rainbowSoftColor = new RainbowSoftColor( FXColor );
		rgb = new double[] { FXColor.getRed() * 255, FXColor.getGreen() * 255, FXColor.getBlue() * 255 };
		argb = new double[] { FXColor.getRed() * 255, FXColor.getGreen() * 255, FXColor.getBlue() * 255, FXColor.getOpacity() };
	}
	public RainbowSoft2D( double[] ARGB )//Creates Class And Sets Color With ARGB //
	{
		for  (int z = 0; z <= 2; z++)
		{
			rgb[z] = ColorValueFitter(ARGB[z]);
			argb[z] = ColorValueFitter(ARGB[z]);
		}
		if ( ARGB.length == 3 )
		{
			argb = new double[4];
			for  (int z = 0; z <= 2; z++)
				argb[z] = ColorValueFitter(rgb[z]);
			ARGB[3] = 1;
		}
		else
			argb[3] = OpacityValueFitter(ARGB[3]);
		rainbowSoftColor = new RainbowSoftColor( argb );
		fxColor = rainbowSoftColor.ToFXColor();
	}
	public RainbowSoft2D()//Creates Class And Sets Color To Opake Black //
	{
		rgb = new double[]{0,0,0};
		argb = new double[]{0,0,0,1};
		rainbowSoftColor = new RainbowSoftColor( rgb );
		fxColor = rainbowSoftColor.ToFXColor();
	}
	public Color ToFXColor ()//Returns Color In JavaF
	{
		fxColor = rainbowSoftColor.ToFXColor();
		return fxColor;
	}
	public Color ToFXColor ( double[] ARGB )//Changes Class To ARGB Value And Returns Color In JavaFX //
	{
		for  (int z = 0; z <= 2; z++)
		{
			rgb[z] = ColorValueFitter(ARGB[z]);
			argb[z] = ColorValueFitter(ARGB[z]);
		}
		if ( ARGB.length == 3 )
		{
			argb = new double[4];
			for  (int z = 0; z <= 2; z++)
				argb[z] = ColorValueFitter(rgb[z]);
			ARGB[3] = 1;
		}
		else
			argb[3] = OpacityValueFitter(ARGB[3]);
		rainbowSoftColor = new RainbowSoftColor( argb );
		fxColor = rainbowSoftColor.ToFXColor();
		return fxColor;
	}
	public Object Buddhism(double ColorsFactor, double LocationOfStillMovement, double SliderInterval, double LocationOfColorMovement, int x, int y, double RepeatFactor, double LengthOfColorBar, double SpiralFactor, double NumberOfSpirals, double SuckInExponentialness, double HalfSreenDiagionalLength, boolean Reversed, double BrightnessMultiplyer, int Gradations, double OpacityBefore, double OpacityAfter, boolean Adjusted, PixelReader BasisPR, PixelReader OrigionalPR, Dimension Dim, String TypeOfDisplay, Color ColorTooSimilarReplacementColor, double ColorDifference )
	{
		/*someTargetColorHit = true;
		someTargetColorInTheCenterHit = false;
		greenBlueGreenUsed = false;
		otherBrowserColorHit = false;
		makePixelTransparent = false;
		//aColorBarHit = false;
		aWheelDiamondHit = false;
		wheelTipsHit = false;// */
		//System.out.println("x: " + x + " y: " + y + " BasisPR.getColor( x, y ): " + BasisPR.getColor( x, y ) );
		for ( colorBarIndex = 0; colorBarIndex <= maxIndexOfHorizontalColorBars; colorBarIndex++)
		{
			///System.out.println("x: " + x + " y: " + y + " BasisPR.getColor( x, y ): " + BasisPR.getColor( x, y ) + " Color: " + rainbowSoftColorCodesSets.buddhismSchemeSet.blackBlue(colorBarIndex).ToFXColor() );
			//tempTransparencySlider = rainbowSoftColorCodesSets.buddhismSchemeSet.blackBlue(colorBarIndex);
			//System.out.println("x: " + x + " y: " + y + " BasisPR.getArgb( x, y ): " + BasisPR.getArgb( x, y ));
			//System.out.println("colorBarIndex: " + colorBarIndex);
			//System.out.println("rainbowSoftColorCodesSets.buddhismSchemeSet.blackBlue(colorBarIndex): " + rainbowSoftColorCodesSets.buddhismSchemeSet.blackBlue(colorBarIndex) );
			//System.out.println("rainbowSoftColorCodesSets.buddhismSchemeSet.blackBlue(colorBarIndex).ToARGBcolorNum(): " + rainbowSoftColorCodesSets.buddhismSchemeSet.blackBlue(colorBarIndex).ToARGBcolorNum());
			//System.out.println( BasisPR.getColor( x, y ) == rainbowSoftColorCodesSets.buddhismSchemeSet.blackBlue(colorBarIndex).ToFXColor() );
			if ( BasisPR.getColor( x, y ) == rainbowSoftColorCodesSets.buddhismSchemeSet.blackBlue(colorBarIndex).ToFXColor() )
			{
				//System.out.println("x: " + x + " y: " + y + " BasisPR.getColor( x, y ): " + BasisPR.getColor( x, y ) + " Color: " + rainbowSoftColorCodesSets.buddhismSchemeSet.blackBlue(colorBarIndex).ToFXColor() );
				colorBarDistance = 0;
				for ( colorBarCheck = x; colorBarCheck >= 0; colorBarCheck--)
				{
					if ( BasisPR.getColor( x, y ) == rainbowSoftColorCodesSets.buddhismSchemeSet.blackBlue(colorBarIndex).ToFXColor() )
						colorBarDistance++;
					else
						break;
				}
				if ( colorBarIndex == 17 )
					colorBarDistance = colorBarDistance + 8;
				coreVariable = colorBarDistance - Math.pow( LocationOfStillMovement / SliderInterval * ( colorBarIndex + 1 ) , SuckInExponentialness );
				coreTranisitionVariable = colorBarDistance - Math.pow( LocationOfColorMovement / SliderInterval * ( colorBarIndex + 1 ) , SuckInExponentialness );
				pattern2D.SimpleRainbow(ColorsFactor / SliderInterval, coreVariable, coreTranisitionVariable, LengthOfColorBar, RepeatFactor / SliderInterval);
				//rainbowSoftColor = new RainbowSoftColor( pattern2D.ToFXColor() );
				rainbowSoftColor = new RainbowSoftColor(  VibrantColors.Red.ToFXColor() );
				rgb = rainbowSoftColor.rgb;
				argb = rainbowSoftColor.argb;
				fxColor = rainbowSoftColor.ToFXColor();
				return rainbowSoftColor;
			}
		}
		//System.out.println("Got Past blackBlue");
		for ( colorBarIndex = 0; colorBarIndex <= maxIndexOfHorizontalColorBars; colorBarIndex++)
			if ( BasisPR.getColor( x, y ) == rainbowSoftColorCodesSets.buddhismSchemeSet.blackRed(colorBarIndex).ToFXColor() )
			{
				colorBarDistance = 0;
				for ( colorBarCheck = x; colorBarCheck <= Dim.width; colorBarCheck++)
				{
					if ( BasisPR.getColor( x, y ) == rainbowSoftColorCodesSets.buddhismSchemeSet.blackRed(colorBarIndex).ToFXColor() )
						colorBarDistance++;
					else
						break;
				}
				if ( colorBarIndex == 17 )
					colorBarDistance = colorBarDistance + 8;
				coreVariable = colorBarDistance - Math.pow( LocationOfStillMovement / SliderInterval * ( colorBarIndex + 1 ) , SuckInExponentialness );
				coreTranisitionVariable = colorBarDistance - Math.pow( LocationOfColorMovement / SliderInterval * ( colorBarIndex + 1 ) , SuckInExponentialness );
				pattern2D.SimpleRainbow(ColorsFactor / SliderInterval, coreVariable, coreTranisitionVariable, LengthOfColorBar, RepeatFactor / SliderInterval);
				rainbowSoftColor = new RainbowSoftColor( pattern2D.ToFXColor() );
				rgb = rainbowSoftColor.rgb;
				argb = rainbowSoftColor.argb;
				fxColor = rainbowSoftColor.ToFXColor();
				return rainbowSoftColor;
			}
		//System.out.println("Got Past blackRed");
		for ( colorBarIndex = 0; colorBarIndex <= maxIndexOfVerticalColorBars; colorBarIndex++)
			if ( BasisPR.getColor( x, y ) == rainbowSoftColorCodesSets.buddhismSchemeSet.blackGreen(colorBarIndex).ToFXColor() )
			{
				colorBarDistance = 0;
				for ( colorBarCheck = y; colorBarCheck >= 0; colorBarCheck--)
				{
					if ( BasisPR.getColor( x, y ) == rainbowSoftColorCodesSets.buddhismSchemeSet.blackGreen(colorBarIndex).ToFXColor() )
						colorBarDistance++;
					else
						break;
				}
				coreVariable = colorBarDistance - Math.pow( LocationOfStillMovement / SliderInterval * ( colorBarIndex + 1 ) , SuckInExponentialness );
				coreTranisitionVariable = colorBarDistance - Math.pow( LocationOfColorMovement / SliderInterval * ( colorBarIndex + 1 ) , SuckInExponentialness );
				pattern2D.SimpleRainbow(ColorsFactor / SliderInterval, coreVariable, coreTranisitionVariable, LengthOfColorBar, RepeatFactor / SliderInterval);
				rainbowSoftColor = new RainbowSoftColor( pattern2D.ToFXColor() );
				rgb = rainbowSoftColor.rgb;
				argb = rainbowSoftColor.argb;
				fxColor = rainbowSoftColor.ToFXColor();
				return rainbowSoftColor;
			}
		//System.out.println("Got Past blackGreen");
		for ( colorBarIndex = 0; colorBarIndex <= maxIndexOfVerticalColorBars; colorBarIndex++)
			if ( BasisPR.getColor( x, y ) == rainbowSoftColorCodesSets.buddhismSchemeSet.blackPurple(colorBarIndex).ToFXColor() )
			{
				colorBarDistance = 0;
				for ( colorBarCheck = y; colorBarCheck <= Dim.height; colorBarCheck++)
				{
					if ( BasisPR.getColor( x, y ) == rainbowSoftColorCodesSets.buddhismSchemeSet.blackPurple(colorBarIndex).ToFXColor() )
						colorBarDistance++;
					else
						break;
				}
				coreVariable = colorBarDistance - Math.pow( LocationOfStillMovement / SliderInterval * ( colorBarIndex + 1 ) , SuckInExponentialness );
				coreTranisitionVariable = colorBarDistance - Math.pow( LocationOfColorMovement / SliderInterval * ( colorBarIndex + 1 ) , SuckInExponentialness );
				pattern2D.SimpleRainbow(ColorsFactor / SliderInterval, coreVariable, coreTranisitionVariable, LengthOfColorBar, RepeatFactor / SliderInterval);
				rainbowSoftColor = new RainbowSoftColor( pattern2D.ToFXColor() );
				rgb = rainbowSoftColor.rgb;
				argb = rainbowSoftColor.argb;
				fxColor = rainbowSoftColor.ToFXColor();
				return rainbowSoftColor;
			}
		//System.out.println("Got Past blackPurple");
		/*if ( OrigionalPR.getArgb( x, y ) != magentaNum && OrigionalPR.getArgb( x, y ) != whiteNum && OrigionalPR.getArgb( x, y ) != transparentNum )
		{
			otherBrowserColorHit = true;
		}
		else
			if ( BasisPR.getArgb( x, y ) == oxylBlueNum )
			{
				coreVariable = ( ( Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 ) ) + Math.PI ) * radialDistance ) / 2 + xSlider ;
				if (coreVariable < 0)
					coreVariable = coreVariable + fullAngle;
				else
					if (coreVariable > fullAngle)
						coreVariable = coreVariable - fullAngle;
				colorIntervalVariable = fullAngle / ( numberOfColorsInTheRainbow - 1 );
			}
			else
				if ( BasisPR.getArgb( x, y ) == wheelDiamondsNum )
				{
					if ( ( y - HalfedDim.height ) < - HalfedDim.height / 10)
					{
						if ( ( x - HalfedDim.width ) < HalfedDim.height / 10 && ( x - HalfedDim.width ) > - HalfedDim.height / 10) 
							eightColorDiamondsIndex = 0;
						else
							if ( ( x - HalfedDim.width ) + ( y - HalfedDim.height ) < HalfedDim.height / 10 && ( x - HalfedDim.width ) + ( y - HalfedDim.height ) > - HalfedDim.height / 10 )
								eightColorDiamondsIndex = 1;
							else
								if ( ( x - HalfedDim.width ) - ( y - HalfedDim.height ) < HalfedDim.height / 10 && ( x - HalfedDim.width ) - ( y - HalfedDim.height ) > - HalfedDim.height / 10 )
									eightColorDiamondsIndex = 7;
					}
					else
						if ( ( y - HalfedDim.height ) > HalfedDim.height / 10)
						{
							if ( ( x - HalfedDim.width ) < HalfedDim.height / 10 && ( x - HalfedDim.width ) > - HalfedDim.height / 10)
								eightColorDiamondsIndex = 4;
							else
								if ( ( x - HalfedDim.width ) - ( y - HalfedDim.height ) < HalfedDim.height / 10 && ( x - HalfedDim.width ) - ( y - HalfedDim.height ) > - HalfedDim.height / 10 )	
									eightColorDiamondsIndex = 3;
								else
									if ( ( x - HalfedDim.width ) + ( y - HalfedDim.height ) < HalfedDim.height / 10 && ( x - HalfedDim.width ) + ( y - HalfedDim.height ) > - HalfedDim.height / 10 )
										eightColorDiamondsIndex = 5;
						}
						else
							if ( x - HalfedDim.width > 0 )
								eightColorDiamondsIndex = 2;
							else
								if ( x - HalfedDim.width < 0 )
									eightColorDiamondsIndex = 6;
					eightColorDiamondsIndex = (int)Math.ceil( eightColorDiamondsIndex - 8 * xSlider / fullAngle );
					while ( eightColorDiamondsIndex < 0 )
						eightColorDiamondsIndex = eightColorDiamondsIndex + 8;
					while ( eightColorDiamondsIndex > 7 )
						eightColorDiamondsIndex = eightColorDiamondsIndex - 8;
					aWheelDiamondHit = true;
				}
				else
					if ( BasisPR.getArgb( x, y ) == wheelRodsNum )
					{
						coreVariable = ( Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 ) ) * radialDistance ) + xSlider / 16 ;
						while ( coreVariable < 0 )
							coreVariable = coreVariable + fullAngle / 8;
						while ( coreVariable > fullAngle / 8)
							coreVariable = coreVariable - fullAngle / 8;
						colorIntervalVariable = ( fullAngle / ( numberOfColorsInTheRainbow - 1 ) ) / 8;
					}
					else
						if ( BasisPR.getArgb( x, y ) == wheelEndsNum )
						{
							coreVariable = ( Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 ) ) * radialDistance ) - xSlider / 16 ;
							while ( coreVariable < 0 )
								coreVariable = coreVariable + fullAngle / 8;
							while ( coreVariable > fullAngle / 8)
								coreVariable = coreVariable - fullAngle / 8;
							colorIntervalVariable = ( fullAngle / ( numberOfColorsInTheRainbow - 1 ) ) / 8;
						}
						else // */
		//		if ( BasisPR.getArgb( x, y ) == neonGreenNum )
		//		{
		//			coreVariable = outerRingThickness - Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - ( HalfedDim.height + 200) + 1, 2), 0.5) + outerRingThickness * xSlider / fullAngle;
		//			while ( coreVariable < outerRingThickness )//outerRingThickness )
		//				coreVariable = coreVariable + outerRingThickness;
		//			while ( coreVariable > outerRingThickness )
		//				coreVariable = coreVariable - outerRingThickness;
		//			colorIntervalVariable = outerRingThickness / ( numberOfColorsInTheRainbow - 1 ); //- 1 );
		//		}
		/*
									else
										if ( BasisPR.getArgb( x, y ) == wheelMiddleRingNum )
										{
											coreVariable = middleRingRadius - Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - HalfedDim.height + 1, 2), 0.5) + 2 * middleRingThickness * xSlider / fullAngle ;
											while ( coreVariable < middleRingThickness )
												coreVariable = coreVariable + middleRingThickness;
											while ( coreVariable > middleRingThickness )
												coreVariable = coreVariable - middleRingThickness;
											colorIntervalVariable = middleRingThickness / ( numberOfColorsInTheRainbow - 1 );
										}
										else
											if ( BasisPR.getArgb( x, y ) == wheelInnerRingNum )
											{
												coreVariable = innerRingRadius - Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - HalfedDim.height + 1, 2), 0.5) + 4 * innerRingThickness * xSlider / fullAngle ;
												while ( coreVariable < innerRingThickness )
													coreVariable = coreVariable + innerRingThickness;
												while ( coreVariable > innerRingThickness )
													coreVariable = coreVariable - innerRingThickness;
												colorIntervalVariable = innerRingThickness / ( numberOfColorsInTheRainbow - 1 );
											}
											else
												if ( BasisPR.getArgb( x, y ) == wheelTipsNum )
													wheelTipsHit = true;
												else
													if ( Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y  - HalfedDim.height + 1, 2), 0.5) <= 47 )
													{
														radialVariableDistance = Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - HalfedDim.height + 1, 2), 0.5);//Comment Out For  Ghetto Many Rainbow Clocks
														angleVariable =  chrysanthemumRadius * ( ( - Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1) ) + Math.PI ) - 6 * Math.PI * xSlider / ( fullAngle / 10 ) );//Use For Rainbow Spiral Multiply radialDistance By 10 To Increase The Number Of Spirals
														radiusVariable = chrysanthemumRadius * ( radialVariableDistance * 24.6 + colorDisplacement + angleVariable);//radialVariableDistance + colorDisplacement + angle;//Remove + angle And Add xSlider To Make Rainbow Clock
														while ( radiusVariable < colorDisplacement)//For Rainbow Ring
															radiusVariable = radiusVariable + 2 * Math.PI * chrysanthemumRadius - colorDisplacement;//BAD COMMENT: For Rainbow Ring Take Out - 38
														while ( radiusVariable > 2 * Math.PI * chrysanthemumRadius )
															radiusVariable = radiusVariable - 2 * Math.PI * chrysanthemumRadius - colorDisplacement;
														colorIntervalVariable = 2 * Math.PI * chrysanthemumRadius / ( numberOfColorsInTheRainbow - 1 );
														coreVariable = radiusVariable;
													}// */
		//		else //imperialFXcolors, imperialColorsNum
		//			if ( BasisPR.getArgb( x, y ) == greenNum )
		//			{
		//				if ( OrigionalPR.getArgb(x, y) != magentaNum )
		//					pattern2D.SimpleCustomColor((double)( Dim.width ), xSlider, (double)(x), (double)( Dim.width ), (double)(1), (int)( xSlider / SliderInterval ), /* ( Math.pow( 10 * xSlider / SliderInterval, 3 ) When Not Testing  ,*/ imperialColorsNum);
		//rainbowSoftColor.RainbowSoftColorRainbowFunction( (double)( Dim.width ), (double)(x) );
		//rainbowSoftColor.RainbowSoftColorRainbowTransparencyFunctionAdjusted((double)( Dim.width ), (double)(x), (double)(1), (int)( xSlider / SliderInterval ), /* ( Math.pow( 10 * xSlider / SliderInterval, 3 ) When Not Testing  , imperialFXcolors, */ (double)(1), (double)(1) );
		//pattern2D.SimpleCustomColor( Dim.width, x, 1, (int)( xSlider / SliderInterval ) /* ( Math.pow( 10 * xSlider / SliderInterval, 3 ) When Not Testing */, imperialFXcolors );//(int)( (xSlider/SliderInterval) * 10 )^3
		//				else
		//					pattern2D.SimpleCustomColor((double)( Dim.width ), xSlider, (double)(x), (double)( Dim.width ), (double)(1), (int)( xSlider / SliderInterval ), /* ( Math.pow( 10 * xSlider / SliderInterval, 3 ) When Not Testing  ,*/ imperialColorsReverseNum);//imperialFXcolorsReverse);
		//rainbowSoftColor.RainbowSoftColorRainbowFunctionReverse( (double)( Dim.width ), (double)(x) );
		//rainbowSoftColor.RainbowSoftColorRainbowTransparencyFunctionReverseAdjusted((double)( Dim.width ), (double)(x), (double)(1), (int)( xSlider / SliderInterval ), /* ( Math.pow( 10 * xSlider / SliderInterval, 3 ) When Not Testing  , imperialFXcolorsReverse, */ (double)(1), (double)(1) );
		//pattern2D.SimpleCustomColor( Dim.width, x, 1, (int)( xSlider / SliderInterval ) /* ( Math.pow( 10 * xSlider / SliderInterval, 3 ) When Not Testing */, imperialFXcolorsReverse );
		//color = pattern2D.color;
		//				someTargetColorHit = false;
		//rainbowSoftColor.RainbowSoftColorRainbowTransparencyFunction((double)( Dim.width ), (double)(x), (double)(1), (int)( xSlider / SliderInterval ) /* ( Math.pow( 10 * xSlider / SliderInterval, 3 ) When Not Testing */, (double)(1), (double)(1) );
		//transparencySlider.TransparencySliderFunction( (double)( Dim.width ), (double)(x), (double)(1), (int)( xSlider / SliderInterval ) /* ( Math.pow( 10 * xSlider / SliderInterval, 3 ) When Not Testing */, new TransparencySlider(pattern2D.ToFXColor()), new TransparencySlider(pattern2D.ToFXColor()), (double)(1), (double)(0) );
		//				pw.setColor( x, y, pattern2D.ToFXColor() );//rainbowSoftColor.ToFXColor() );
		//System.out.println("x: " + x + " y: " + y + " pr: "+ OrigionalPR.getColor( x, y ) + " cv: " + coreVariable + " civ: " + colorIntervalVariable );
		//			}
		//			else
		//				someTargetColorHit = false;
		/*if ( Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y  - HalfedDim.height + 1 + chrysanthemumYDisplacement, 2), 0.5) <= 64 )
				{//902 //1019
					someTargetColorInTheCenterHit = true;
					if ( BasisPR.getArgb( x, y ) == black6Num )
					{
						coreVariable = chrysanthemumRadius - Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - HalfedDim.height + 1 + chrysanthemumYDisplacement, 2), 0.5) + 6 * 0.175979734764 * chrysanthemumRadius * xSlider / ( fullAngle / 10 ) ;
						while ( coreVariable < 0.175979734764 * chrysanthemumRadius)
							coreVariable = coreVariable + 0.175979734764 * chrysanthemumRadius;
						while ( coreVariable > 0.175979734764 * chrysanthemumRadius)
							coreVariable = coreVariable - 0.175979734764 * chrysanthemumRadius;
						colorIntervalVariable = 0.175979734764 * chrysanthemumRadius / ( numberOfColorsInTheRainbow - 1 );
					}
					else
						if ( BasisPR.getArgb( x, y ) == white1Num )
						{
							radialVariableDistance = Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - HalfedDim.height + 1 + chrysanthemumYDisplacement, 2), 0.5);//Comment Out For  Ghetto Many Rainbow Clocks
							angleVariable =  chrysanthemumRadius * ( ( - Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 + chrysanthemumYDisplacement) ) + Math.PI ) - 6 * Math.PI * xSlider / ( fullAngle / 10 ) );//Use For Rainbow Spiral Multiply radialDistance By 10 To Increase The Number Of Spirals
							radiusVariable = chrysanthemumRadius * ( radialVariableDistance * 24.6 + colorDisplacement + angleVariable);//radialVariableDistance + colorDisplacement + angle;//Remove + angle And Add xSlider To Make Rainbow Clock
							while ( radiusVariable < colorDisplacement)//For Rainbow Ring
								radiusVariable = radiusVariable + 2 * Math.PI * chrysanthemumRadius - colorDisplacement;//BAD COMMENT: For Rainbow Ring Take Out - 38
							while ( radiusVariable > 2 * Math.PI * chrysanthemumRadius )
								radiusVariable = radiusVariable - 2 * Math.PI * chrysanthemumRadius - colorDisplacement;
							colorIntervalVariable = 2 * Math.PI * chrysanthemumRadius / ( numberOfColorsInTheRainbow - 1 );
							coreVariable = radiusVariable;
						}
						else
							if ( BasisPR.getArgb( x, y ) == white2Num )
							{
								coreVariable = x - 902 - chrysanthemumRadius * 2 * xSlider / ( fullAngle / 10 );
								while (coreVariable < 0)
									coreVariable = coreVariable + chrysanthemumRadius * 2;
								while (coreVariable > chrysanthemumRadius * 2)
									coreVariable = coreVariable - chrysanthemumRadius * 2;
								colorIntervalVariable = chrysanthemumRadius * 2 / (numberOfColorsInTheRainbow - 1 );
							}
							else
								if ( BasisPR.getArgb( x, y ) == white3Num )
								{
									angleVariable = - chrysanthemumRadius *  2 * Math.PI * ( ( Math.atan2( (x - HalfedDim.width + 1) , ( y - HalfedDim.height + 1 + chrysanthemumYDisplacement ) ) + Math.PI ) + xSlider / ( ( chrysanthemumNumberOfPedals - 1 ) * fullAngle / 10 ) ) ;
									while (angleVariable < 0)
										angleVariable = angleVariable + chrysanthemumRadius / ( chrysanthemumNumberOfPedals - 1);
									while (angleVariable > chrysanthemumRadius / (chrysanthemumNumberOfPedals - 1) )
										angleVariable = angleVariable - chrysanthemumRadius / ( chrysanthemumNumberOfPedals - 1);
									coreVariable = angleVariable;
									colorIntervalVariable = chrysanthemumRadius / ( ( numberOfClockHandsForRainbow - 1 ) * ( chrysanthemumNumberOfPedals - 1) );
								}
								else
									if ( BasisPR.getArgb( x, y ) == white4Num )
									{
										radialVariableDistance = Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - HalfedDim.height + 1 + chrysanthemumYDisplacement, 2), 0.5);//Comment Out For  Ghetto Many Rainbow Clocks
										angleVariable = ( ( - Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 + chrysanthemumYDisplacement) ) + Math.PI ) - 6 * Math.PI * xSlider / ( fullAngle / 10 ) ) * 10 * chrysanthemumRadius;//Use For Rainbow Spiral Multiply radialDistance By 10 To Increase The Number Of Spirals
										radiusVariable = ( radialVariableDistance * 24.6 + colorDisplacement + angleVariable ) / ( 2 * chrysanthemumRadius);//radialVariableDistance + colorDisplacement + angle;//Remove + angle And Add xSlider To Make Rainbow Clock
										while ( radiusVariable < colorDisplacement)//For Rainbow Ring
											radiusVariable = radiusVariable + 2 * chrysanthemumRadius * Math.PI - colorDisplacement;//BAD COMMENT: For Rainbow Ring Take Out - 38
										while ( radiusVariable > 2 * chrysanthemumRadius * Math.PI )
											radiusVariable = 2 * chrysanthemumRadius * Math.PI - colorDisplacement;
										colorIntervalVariable = 2 * chrysanthemumRadius * Math.PI / ( numberOfColorsInTheRainbow - 1 );
										coreVariable = radiusVariable;// / ( Dim.height / 64);
									}
									else
										if ( BasisPR.getArgb( x, y ) == simpleBlueNum )
										{//951 To 969
											coreVariable = chrysanthemumInnerRadius - Math.pow(Math.pow(x - HalfedDim.width, 2) + Math.pow( y - HalfedDim.height + chrysanthemumYDisplacement, 2), 0.5) + 88 * chrysanthemumInnerRadius * xSlider / ( fullAngle / 10 ) ;
											while ( coreVariable < chrysanthemumInnerRadius)
												coreVariable = coreVariable + chrysanthemumInnerRadius;
											while ( coreVariable > chrysanthemumInnerRadius)
												coreVariable = coreVariable - chrysanthemumInnerRadius;
											colorIntervalVariable = chrysanthemumInnerRadius / ( numberOfColorsInTheRainbow - 1 );
										}
										else
											someTargetColorInTheCenterHit = false;
				}
		if (aColorBarHit == false)
			if ( someTargetColorInTheCenterHit == false )
				if ( BasisPR.getArgb( x, y ) == oxylBlueNum)
				{
					//makePixelTransparent = true;//Comment This Line Out For Rainbow Strobe Effect
					angleVariable = Math.atan2( (x - HalfedDim.width + 1) , (y - Dim.height * 4 / 3 + 1 ) );// For Rising Sun + 1
					aVariable = ( angleVariable * /*Math.cos( angle ) * Math.sin( angle ) * Math.pow(radialVariableDistance, 1)/ Math.tan( angleVariable ) /*+ Math.PI|STAR|/ )  * radialDistance / 4.46783504 + xSlider;// + Or - xSlider Determines Which Direction It Moves //For Infinite Number Theorem Good a = ( angle * /*Math.cos( angle ) * Math.sin( angle ) * Math.pow(radialVariableDistance, 1)|STAR|/ Math.tan( angle ) + Math.PI )  * radialDistance / 4.46783504 - xSlider;  //a = ( angle /*Math.cos( angle ) * Math.sin( angle ) * Math.pow(radialVariableDistance, 1)|STAR|/ Math.tan( angle ) + Math.PI )  * radialDistance / 4.46783504 - xSlider;//Use For Rainbow Spiral Multiply radialDistance By 10 To Increase The Number Of Spirals //Use This: "a = ( - angle + Math.PI ) * radialDistance;" Line For Rainbow Clock //a = ( - angle * Math.tan( angle ) + Math.PI ) * radialDistance - xSlider; For Infinite Number Theorem //a = ( - angle * Math.cos( angle ) * Math.sin( angle ) * Math.pow(radialVariableDistance, 2) + Math.PI ) * radialDistance - xSlider; |STAR|/
					radiusVariable = aVariable * 10;
					// |STAR|///For Old Infinite Number Theorem Use Above
					//radius = a * 10;//For Rainbow Spiral And Clock
					//}
					while ( radiusVariable < colorDisplacementVariable)//For Rainbow Ring
						radiusVariable = radiusVariable + fullAngle - colorDisplacementVariable;//BAD COMMENT: For Rainbow Ring Take Out - 38
					while ( radiusVariable > fullAngle )//radius > fullAngle For Non Infinite Number Theorem
						radiusVariable = radiusVariable - fullAngle - colorDisplacementVariable; //radius = radius - fullAngle; For Non Infinite Number Theorem //For Rainbow Clock Comment Out To Here. Here -- |STAR|/
					colorIntervalVariable = colorIntervalForWholeScreen;
					coreVariable = radiusVariable;
				}
				else
					if ( BasisPR.getArgb( x, y ) == skyBlueNum)
					{
						radialVariableDistance = Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - HalfedDim.height + 1, 2), 0.5);//Comment Out For  Ghetto Many Rainbow Clocks
						angleVariable = ( ( - Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 ) ) + Math.PI ) - 6 * Math.PI * xSlider / ( fullAngle / 10 ) ) * radialDistance;//Use For Rainbow Spiral Multiply radialDistance By 10 To Increase The Number Of Spirals
						radiusVariable = radialVariableDistance * 24.6 + colorDisplacement + angleVariable;//radialVariableDistance + colorDisplacement + angle;//Remove + angle And Add xSlider To Make Rainbow Clock
						while ( radiusVariable < colorDisplacement)//For Rainbow Ring
							radiusVariable = radiusVariable + fullAngle - colorDisplacement;//BAD COMMENT: For Rainbow Ring Take Out - 38
						while ( radiusVariable > fullAngle )
							radiusVariable = radiusVariable - fullAngle - colorDisplacement;
						colorIntervalVariable = fullAngle / ( numberOfColorsInTheRainbow - 1 );
						coreVariable = radiusVariable;						
					}
					else
						if ( BasisPR.getArgb( x, y ) == magentaNum)
						{
							coreVariable = HalfedDim.height - Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - HalfedDim.height + 1, 2), 0.5) + 6 * 0.175979734764 * xSlider * HalfedDim.height / ( fullAngle / 10 ) ;
							while ( coreVariable < 0.175979734764 * HalfedDim.height)
								coreVariable = coreVariable + 0.175979734764 * HalfedDim.height;
							while ( coreVariable > 0.175979734764 * HalfedDim.height)
								coreVariable = coreVariable - 0.175979734764 * HalfedDim.height;
							colorIntervalVariable = 0.175979734764 * HalfedDim.height / ( numberOfColorsInTheRainbow - 1 );
						}
						else
							if ( BasisPR.getArgb( x, y ) == neonGreenNum )
							{
								angleVariable = radialDistance * ( ( Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 ) ) + Math.PI ) + 2 * Math.PI * xSlider / ( fullAngle / 10 ) );
								while (angleVariable < 0)
									angleVariable = angleVariable + fullAngle * 2;
								while (angleVariable > fullAngle * 2)
									angleVariable = angleVariable - fullAngle * 2;
								coreVariable = angleVariable;
								colorIntervalVariable = ( 2 * fullAngle ) / ( numberOfClockHandsForRainbow - 1 );
								//angle = 0;//Testing Purposes Only.
							}
							else
								if ( BasisPR.getArgb( x, y ) == halfGreyNum )
								{
									angleVariable = - radialDistance * ( ( Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 ) ) + Math.PI ) - 2 * Math.PI * xSlider / ( fullAngle / 10 ) );
									while (angleVariable < 0)
										angleVariable = angleVariable + fullAngle * 2;
									while (angleVariable > fullAngle * 2)
										angleVariable = angleVariable - fullAngle * 2;
									coreVariable = angleVariable;
									colorIntervalVariable = ( 2 * fullAngle ) / ( numberOfClockHandsForRainbow - 1 );
									//angle = 0;//Testing Purposes Only.
								}
								else
									if ( BasisPR.getArgb( x, y ) == maroonNum )//neonGreenNum)
									{
										angleVariable = - radialDistance * ( ( Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 ) ) + Math.PI ) + 2 * Math.PI * xSlider / ( (numberOfClockHandsForOrderOfMagi - 1) * fullAngle / 10 ) );
										while (angleVariable < 0)
											angleVariable = angleVariable + fullAngle * 2 / ( numberOfClockHandsForOrderOfMagi - 1);
										while (angleVariable > fullAngle * 2 / ( numberOfClockHandsForOrderOfMagi - 1) )
											angleVariable = angleVariable - fullAngle * 2 / ( numberOfClockHandsForOrderOfMagi - 1);
										coreVariable = angleVariable;
										colorIntervalVariable = ( 2 * fullAngle ) / ( ( numberOfColorsForOrderOfMagi - 1 ) * ( numberOfClockHandsForOrderOfMagi - 1) );
										//angle = 0;//Testing Purposes Only.
										if ( OrigionalPR.getArgb( x, y ) == magentaNum )//shitBrownNum )//OrigionalPR.getArgb(x, y) == magentaNum )// == magecoreVariable// == webBlackNum
											if ( coreVariable < colorIntervalVariable  + colorDisplacement)//For Normal Rainbow Use This Instead Of The Others
												color.ColorSliderFunction(colorIntervalVariable, coreVariable - colorDisplacement, blue, green);
											else
												color.ColorSliderFunction(colorIntervalVariable, coreVariable - colorIntervalVariable - colorDisplacement, green, blue);
										else//|STAR|/
											if ( coreVariable < colorIntervalVariable  + colorDisplacement)//For Normal Rainbow Use This Instead Of The Others
												color.ColorSliderFunction(colorIntervalVariable, coreVariable - colorDisplacement, green, blue);
											else
												color.ColorSliderFunction(colorIntervalVariable, coreVariable - colorIntervalVariable - colorDisplacement, blue, green);//*
										pw.setArgb( x, y, (int)(255 * 16777216 + (int)color.rgb[0] * 65536 + (int)color.rgb[1] * 256 + (int)color.rgb[2]));//setArgb
										greenBlueGreenUsed = true;
									}
									else
										if ( BasisPR.getArgb( x, y ) == pinkNum )
										{//304 + 244 = 548 // 656 //Need Correction For Screen Size !!
											coreVariable = x - 656 - 628 * xSlider / ( fullAngle / 10 );
											while (coreVariable < 0)
												coreVariable = coreVariable + 628;
											while (coreVariable > 628)
												coreVariable = coreVariable - 628;
											colorIntervalVariable =  628 / (numberOfColorsInTheRainbow - 1 );
										}
										else
											someTargetColorHit = false;//*/




		//End Of Basis Image Switch System
		//		if ( OrigionalPR.getArgb( x, y ) == oxylBlue0FFNum)
		/*if ( BasisPR.getArgb( x, y ) != neonGreenNum && neonGreenCheck.ColorTooSimilarFunction( oxylBlue0FFNum, BasisPR.getArgb( x, y ) ) )//OrigionalPR.getArgb( x, y ) , 
				pw.setArgb( x, y, neonGreenNum);//shitBrownNum);//pr.getArgb( x, y ) );
			else//*/
		//			pw.setArgb( x, y, oxylBlue0FFNum);
		//		else
		/*if (otherBrowserColorHit == true)
				pw.setArgb( x, y, OrigionalPR.getArgb( x, y ) );
			else
				if (makePixelTransparent == true)
					pw.setArgb( x, y, transparentNum );
				else
					if ( greenBlueGreenUsed == false )// */
		/*if ( aWheelDiamondHit == true)
				if ( OrigionalPR.getArgb( x, y ) == magentaNum )//shitBrownNum )
					pw.setArgb( x, y, magentaNum );
				else
					pw.setArgb( x, y, wheelDiamondsArrayNum[eightColorDiamondsIndex] );
			else
				if ( wheelTipsHit == true)
					if (xSlider <= fullAngle - 8.468 * SliderInterval )
						pw.setArgb( x, y, greenNum );
					else
						pw.setArgb( x, y, redNum );
				else// */
		//			if ( someTargetColorHit == true)//numberOfClockHandsForOrderOfMagi  //greenBlueGreenUsed
		//			{
		//System.out.println("x: " + x + " y: " + y + " pr: "+ OrigionalPR.getColor( x, y ) + " cv: " + coreVariable + " civ: " + colorIntervalVariable );
		//	if ( coreVariable >= colorDisplacementVariable && coreVariable < (numberOfColorsInTheRainbow - 1) * colorIntervalVariable  + colorDisplacement)//For Purple Outside Ring
		//{//Retain Below If Else And Use New Variable Names And Equate Them With If Switch Below New Variable Name Comment Above // Make html Text Flip shitBrownNum Color!
		//				if ( OrigionalPR.getArgb( x, y ) == magentaNum )//shitBrownNum )//OrigionalPR.getArgb(x, y) == magentaNum )// == magecoreVariable// == webBlackNum
		//					color.RainbowSoftColorRainbowFunctionReverseAdjusted(colorIntervalVariable, coreVariable, 1, 2);//Highest int = 2,147,483,647
		//				else
		//					color.RainbowSoftColorRainbowFunctionAdjusted(colorIntervalVariable, coreVariable, 1, 0);
		//color.RainbowSoftColorRainbowFunction(colorIntervalVariable, colorIntervalVariable * 6 - coreVariable);
		/*if ( coreVariable < colorIntervalVariable  + colorDisplacement)//For Normal Rainbow Use This Instead Of The Others
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - colorDisplacement, purple, blue);
					else if ( coreVariable < ( 2 * colorIntervalVariable  + colorDisplacement) )
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - colorIntervalVariable - colorDisplacement, blue, teal);
					else if ( coreVariable < ( 3 * colorIntervalVariable  + colorDisplacement) )		
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - 2 * colorIntervalVariable - colorDisplacement, teal, pink);
					else if ( coreVariable < ( 4 * colorIntervalVariable  + colorDisplacement) )
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - 3 * colorIntervalVariable - colorDisplacement, pink, yellow);
					else if ( coreVariable < ( 5 * colorIntervalVariable  + colorDisplacement) )
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - 4 * colorIntervalVariable - colorDisplacement, yellow, orange);
					else
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - 5 * colorIntervalVariable - colorDisplacement, orange, red);
				else
					if ( coreVariable < colorIntervalVariable  + colorDisplacement)//For Normal Rainbow Use This Instead Of The Others
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - colorDisplacement, red, orange);
					else if ( coreVariable < ( 2 * colorIntervalVariable  + colorDisplacement) )
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - colorIntervalVariable - colorDisplacement, orange, yellow);
					else if ( coreVariable < ( 3 * colorIntervalVariable  + colorDisplacement) )		
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - 2 * colorIntervalVariable - colorDisplacement, yellow, green);
					else if ( coreVariable < ( 4 * colorIntervalVariable  + colorDisplacement) )
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - 3 * colorIntervalVariable - colorDisplacement, green, teal);
					else if ( coreVariable < ( 5 * colorIntervalVariable  + colorDisplacement) )
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - 4 * colorIntervalVariable - colorDisplacement, teal, blue);
					else
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - 5 * colorIntervalVariable - colorDisplacement, blue, purple);// */
		//System.out.println("x: " + x + " y: " + y + " (int)color.rgb[1]: " + (int)color.rgb[1]);
		//tempFXColor = color.ToFXColor().invert();
		//tempFXColor = tempFXColor.rgb((int)color.rgb[0] , Math.abs( (int)color.rgb[1] ), (int)color.rgb[2]).invert();//Temporary Fix Mat.abs On This Line
		//color.rgb = new double[] { ( tempFXColor.getRed() + 1/256 ) * 256 - 1 , ( tempFXColor.getGreen() + 1/256 ) * 256 - 1, (tempFXColor.getBlue() + 1/256 ) * 256 - 1 };
		//pw.setArgb( x, y, (int)(255 * 16777216 + (int)color.rgb[0] * 65536 + (int)color.rgb[1] * 256 + (int)color.rgb[2]));
		//				pw.setColor(x, y, color.ToFXColor());//.invert());
		//			}
		//			else
		//				if ( OrigionalPR.getArgb( x, y ) != magentaNum && BasisPR.getArgb( x, y ) != greenNum )//shitBrownNum )
		//					pw.setArgb( x, y, BasisPR.getArgb( x, y ) );
		/*else
								if ( OrigionalPR.getArgb( x, y ) == oxylBlue0FFNum)
									if ( BasisPR.getArgb( x, y ) != neonGreenNum && neonGreenCheck.ColorTooSimilarFunction( oxylBlue0FFNum, BasisPR.getArgb( x, y ) ) )//OrigionalPR.getArgb( x, y ) , 
										pw.setArgb( x, y, neonGreenNum);//shitBrownNum);//pr.getArgb( x, y ) );
									else
										pw.setArgb( x, y, oxylBlue0FFNum);//*/
		/*else
							//System.out.println( neonGreenCheck.ColorTooSimilarFunction( OrigionalPR.getArgb( x, y ), BasisPR.getArgb( x, y ) ) );
							if ( neonGreenCheck.ColorTooSimilarFunction( neonGreenNum, basispr.getArgb( x, y ) ) )//OrigionalPR.getArgb( x, y ) , 
								pw.setArgb( x, y, skyBlueNum);//shitBrownNum);//pr.getArgb( x, y ) );
							else
								pw.setArgb( x, y, neonGreenNum);// */
		//pattern2D.SimpleRainbow(ColorsFactor / SliderInterval, coreVariable, coreTranisitionVariable, LengthOfColorBar, RepeatFactor / SliderInterval);
		//color = new RainbowSoftColor( new double[] { 255 * BasisPR.getColor( x, y ).getRed(), 255 * BasisPR.getColor( x, y ).getGreen(), 255 * BasisPR.getColor( x, y ).getBlue(), BasisPR.getColor( x, y ).getOpacity() } );
		rgb = rainbowSoftColor.rgb;
		argb = rainbowSoftColor.argb;
		fxColor = rainbowSoftColor.ToFXColor();
		return rainbowSoftColor;
	}
	public Object MagiElite(double ColorsFactor, double LocationOfStillMovement, double LocationOfColorMovement, int x, int y, double RepeatFactor, double SpiralFactor, double NumberOfSpirals, double HalfSreenDiagionalLength, boolean Reversed, double BrightnessMultiplyer, int Gradations, double OpacityBefore, double OpacityAfter, boolean Adjusted, PixelReader BasisPR, PixelReader OrigionalPR, String TypeOfDisplay, Color ColorTooSimilarReplacementColor, double ColorDifference )
	{

		pattern2D.SimpleRainbow(ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, x, RepeatFactor);
		rainbowSoftColor.RainbowSoftColorRainbowFunction(Math.abs( ColorsFactor ), sliderValue);//1st Square In SimpleDiagnosticsClass.java
		rgb = rainbowSoftColor.rgb;
		argb = rainbowSoftColor.argb;
		fxColor = rainbowSoftColor.ToFXColor();
		return rainbowSoftColor;
	}
	/*public Object RainbowSoftColorFunction(double ColorInterval, double Loc, RainbowSoftColor ColorBefore, RainbowSoftColor ColorAfter)
	{
		for (int z = 0; z <= 2; z++)
			RGB[z] = ( (ColorAfter.RGB[z] - ColorBefore.RGB[z]) * Loc/ColorInterval + ColorBefore.RGB[z] );
		color = new RainbowSoftColor( RGB );
		fxColor = FXColor.rgb( (int)(ColorValueFitter(RGB[0])), (int)(ColorValueFitter(RGB[1])), (int)(ColorValueFitter(RGB[2])) );
		return color;
	}
	public Object SimpleRainbow(double ColorInterval, double Loc)
	{
		color.RainbowSoftColorRainbowFunction(ColorInterval, Loc);
		rgb = color.rgb;
		fxColor = FXColor.rgb( (int)(ColorValueFitter(RGB[0])), (int)(ColorValueFitter(RGB[1])), (int)(ColorValueFitter(RGB[2])) );
		return color;
	}
	public Object SimpleRainbow(double ColorInterval, double Loc, double BrightnessMultiplyer, int Gradations)
	{
		color.RainbowSoftColorRainbowFunctionAdjusted(ColorInterval, Loc, BrightnessMultiplyer, Gradations);
		rgb = color.rgb;
		fxColor = FXColor.rgb( (int)(ColorValueFitter(RGB[0])), (int)(ColorValueFitter(RGB[1])), (int)(ColorValueFitter(RGB[2])) );
		return color;
	}
	public Object SimpleRainbow(double ColorInterval, double Loc, double BrightnessMultiplyer, int Gradations, boolean Adjusted )
	{
		if ( Adjusted )
			color.RainbowSoftColorRainbowFunctionAdjusted(ColorInterval, Loc, BrightnessMultiplyer, Gradations);
		else
			color.RainbowSoftColorRainbowFunctionUnAdjusted(ColorInterval, Loc, BrightnessMultiplyer, Gradations);
		rgb = color.rgb;
		fxColor = FXColor.rgb( (int)(ColorValueFitter(RGB[0])), (int)(ColorValueFitter(RGB[1])), (int)(ColorValueFitter(RGB[2])) );
		return color;
	}
	public Object SimpleRainbowReverse(double ColorInterval, double Loc)
	{
		color.RainbowSoftColorRainbowFunctionReverse(ColorInterval, Loc);
		rgb = color.rgb;
		fxColor = FXColor.rgb( (int)(ColorValueFitter(RGB[0])), (int)(ColorValueFitter(RGB[1])), (int)(ColorValueFitter(RGB[2])) );
		return color;
	}
	public Object SimpleRainbowReverse(double ColorInterval, double Loc, double BrightnessMultiplyer, int Gradations )
	{
		color.RainbowSoftColorRainbowFunctionReverseAdjusted(ColorInterval, Loc, BrightnessMultiplyer, Gradations);
		rgb = color.rgb;
		fxColor = FXColor.rgb( (int)(ColorValueFitter(RGB[0])), (int)(ColorValueFitter(RGB[1])), (int)(ColorValueFitter(RGB[2])) );
		return color;
	}
	public Object SimpleRainbowReverse(double ColorInterval, double Loc, double BrightnessMultiplyer, int Gradations, boolean Adjusted )
	{
		if ( Adjusted )
			color.RainbowSoftColorRainbowFunctionReverseAdjusted(ColorInterval, Loc, BrightnessMultiplyer, Gradations);
		else
			color.RainbowSoftColorRainbowFunctionReverseUnAdjusted(ColorInterval, Loc, BrightnessMultiplyer, Gradations);
		rgb = color.rgb;
		fxColor = FXColor.rgb( (int)(ColorValueFitter(RGB[0])), (int)(ColorValueFitter(RGB[1])), (int)(ColorValueFitter(RGB[2])) );
		return color;
	}
	public Object SimpleCustomColor(double ColorInterval, double Loc, double[][] RGBcolorArray)
	{
		color.RainbowSoftColorRainbowFunction(ColorInterval, Loc, RGBcolorArray);
		rgb = color.rgb;
		fxColor = FXColor.rgb( (int)(ColorValueFitter(RGB[0])), (int)(ColorValueFitter(RGB[1])), (int)(ColorValueFitter(RGB[2])) );
		return color;
	}
	public Object SimpleCustomColor(double ColorInterval, double Loc, Color[] FXcolorArray)
	{
		color.RainbowSoftColorRainbowFunction(ColorInterval, Loc, FXcolorArray);
		rgb = color.rgb;
		fxColor = FXColor.rgb( (int)(ColorValueFitter(RGB[0])), (int)(ColorValueFitter(RGB[1])), (int)(ColorValueFitter(RGB[2])) );
		return color;
	}
	public Object SimpleCustomColor(double ColorInterval, double Loc, double BrightnessMultiplyer, int Gradations, double[][] RGBcolorArray )
	{
		color.RainbowSoftColorRainbowFunctionAdjusted(ColorInterval, Loc, BrightnessMultiplyer, Gradations, RGBcolorArray);
		rgb = color.rgb;
		fxColor = FXColor.rgb( (int)(ColorValueFitter(RGB[0])), (int)(ColorValueFitter(RGB[1])), (int)(ColorValueFitter(RGB[2])) );
		return color;
	}
	public Object SimpleCustomColor(double ColorInterval, double Loc, double BrightnessMultiplyer, int Gradations, double[][] RGBcolorArray, boolean Adjusted )
	{
		if ( Adjusted )
			color.RainbowSoftColorRainbowFunctionAdjusted(ColorInterval, Loc, BrightnessMultiplyer, Gradations, RGBcolorArray);
		else
			color.RainbowSoftColorRainbowFunctionUnAdjusted(ColorInterval, Loc, BrightnessMultiplyer, Gradations, RGBcolorArray);
		rgb = color.rgb;
		fxColor = FXColor.rgb( (int)(ColorValueFitter(RGB[0])), (int)(ColorValueFitter(RGB[1])), (int)(ColorValueFitter(RGB[2])) );
		return color;
	}
	public Object SimpleCustomColor(double ColorInterval, double Loc, double BrightnessMultiplyer, int Gradations, Color[] FXcolorArray )
	{
		//System.out.println( "2D FXcolors Brightnesses" + FXcolorArray[0].getBrightness() + FXcolorArray[1].getBrightness() + FXcolorArray[2].getBrightness() + FXcolorArray[3].getBrightness() + FXcolorArray[4].getBrightness() + FXcolorArray[5].getBrightness() );
		color.RainbowSoftColorRainbowFunctionAdjusted(ColorInterval, Loc, BrightnessMultiplyer, Gradations, FXcolorArray);
		rgb = color.rgb;
		fxColor = FXColor.rgb( (int)(ColorValueFitter(RGB[0])), (int)(ColorValueFitter(RGB[1])), (int)(ColorValueFitter(RGB[2])) );
		return color;
	}
	public Object SimpleCustomColor(double ColorInterval, double Loc, double BrightnessMultiplyer, int Gradations, Color[] FXcolorArray, boolean Adjusted )
	{
		//System.out.println( "2D FXcolors Brightnesses" + FXcolorArray[0].getBrightness() + FXcolorArray[1].getBrightness() + FXcolorArray[2].getBrightness() + FXcolorArray[3].getBrightness() + FXcolorArray[4].getBrightness() + FXcolorArray[5].getBrightness() );
		if ( Adjusted )
			color.RainbowSoftColorRainbowFunctionAdjusted(ColorInterval, Loc, BrightnessMultiplyer, Gradations, FXcolorArray);
		else
			color.RainbowSoftColorRainbowFunctionUnAdjusted(ColorInterval, Loc, BrightnessMultiplyer, Gradations, FXcolorArray);
		rgb = color.rgb;
		fxColor = FXColor.rgb( (int)(ColorValueFitter(RGB[0])), (int)(ColorValueFitter(RGB[1])), (int)(ColorValueFitter(RGB[2])) );
		return color;
	}//*/
	public Color[] CustomColorsReverser ( Color[] FXcolorArray )//Reverses Custom Colors By Flipping Around Colors Like Rainbow Reversal Without Changing Any Colors Like Green In Rainbow To Pink In Reversed //
	{
		fxColorArray = new Color[FXcolorArray.length];
		for (int c = 0; c < FXcolorArray.length; c++)
			fxColorArray[c] = FXcolorArray[ FXcolorArray.length - c - 1 ];
		return fxColorArray;
	}
	public double ColorValueFitter ( double ColorToBeChecked )//Makes Sure Colors Don't Cause Systemic Failures //27th Square In SimpleDiagnosticsClass.java
	{
		ColorBeingChecked = Math.abs(ColorToBeChecked);
		while ( ColorBeingChecked > 255)
			ColorBeingChecked = ColorBeingChecked - 255;
		return ColorBeingChecked;
	}
	public double OpacityValueFitter ( double OpacityToBeChecked )//Makes Sure Color Opacitys Don't Cause Systemic Failures //28th Square In SimpleDiagnosticsClass.java
	{
		OpacityBeingChecked = Math.abs(OpacityToBeChecked);
		while ( OpacityBeingChecked > 1)
			OpacityBeingChecked = OpacityBeingChecked - 1;
		return OpacityBeingChecked;
	}
	public void set(double[] ARGB) { argb = ARGB; rgb[0] = ARGB[0]; rgb[1] = ARGB[1]; rgb[2] = ARGB[2]; fxColor = fxColor.rgb( (int)(ColorValueFitter(ARGB[0])), (int)(ColorValueFitter(ARGB[1])), (int)(ColorValueFitter(ARGB[2])), (int)(OpacityValueFitter(ARGB[3])) ); rainbowSoftColor = new RainbowSoftColor( ARGB ); }//Assigns Colors With ARGB //29th Square In SimpleDiagnosticsClass.java
	public void set(Color FXColor) { fxColor = FXColor; argb = new double[] { FXColor.getRed() * 255, FXColor.getGreen() * 255, FXColor.getBlue() * 255, FXColor.getOpacity() }; rainbowSoftColor = new RainbowSoftColor( argb ); }//Assigns Colors With FXColor //30th Square In SimpleDiagnosticsClass.java
	public Object get() { return argb; }//Returns Always Happen With Variable Output With ARGB Functionality //31st Square In SimpleDiagnosticsClass.java
}


/*for (x = 0; x < Dim.width; x++)//Comment Out Here For Circular Rainbow
{//Comment Out Here For Circular Rainbow
	for (y = 0; y < Dim.height; y++)
	{// coreVariable // angleVariable // aVariable // radiusVariable // fullCycleVariable // colorDisplacementVariable // colorIntervalVariable XXXXXX // speedIncreaseFactor // speedDecreaseFactor
		someTargetColorHit = true;
		someTargetColorInTheCenterHit = false;
		greenBlueGreenUsed = false;
		otherBrowserColorHit = false;
		makePixelTransparent = false;
		aColorBarHit = false;
		aWheelDiamondHit = false;
		wheelTipsHit = false; */

/*for ( colorBarIndex = 0; colorBarIndex <= maxIndexOfHorizontalColorBars; colorBarIndex++)
			if ( basispr.getArgb( x, y ) == blackBlueNumArray[colorBarIndex] )
			{
				colorBarDistance = 0;
				for ( colorBarCheck = x; colorBarCheck >= 0; colorBarCheck--)
				{
					if ( basispr.getArgb( colorBarCheck, y ) == blackBlueNumArray[colorBarIndex] )
						colorBarDistance++;
					else
						break;
				}
				if ( colorBarIndex == 17 )
					colorBarDistance = colorBarDistance + 8;
				coreVariable = colorBarDistance - Math.pow( xSlider / sliderInterval * ( colorBarIndex + 1 ) , 0.5 );
				colorIntervalVariable = lengthOfColorBar / ( numberOfColorsInTheRainbow - 1 );
				while ( coreVariable < 0 )
					coreVariable = coreVariable + colorIntervalVariable * ( numberOfColorsInTheRainbow - 1 ) ;
				while ( coreVariable > colorIntervalVariable * ( numberOfColorsInTheRainbow - 1 ) )
					coreVariable = coreVariable - colorIntervalVariable * ( numberOfColorsInTheRainbow - 1 ) ;
				aColorBarHit = true;
				//someTargetColorHit = true;
			}
		for ( colorBarIndex = 0; colorBarIndex <= maxIndexOfHorizontalColorBars; colorBarIndex++)
			if ( basispr.getArgb( x, y ) == blackRedNumArray[colorBarIndex] )
			{
				colorBarDistance = 0;
				for ( colorBarCheck = x; colorBarCheck <= Dim.width; colorBarCheck++)
				{
					if ( basispr.getArgb( colorBarCheck, y ) == blackRedNumArray[colorBarIndex] )
						colorBarDistance++;
					else
						break;
				}
				if ( colorBarIndex == 17 )
					colorBarDistance = colorBarDistance + 8;
				coreVariable = colorBarDistance - Math.pow( xSlider / sliderInterval * ( colorBarIndex + 1 ) , 0.5 );
				colorIntervalVariable = lengthOfColorBar / ( numberOfColorsInTheRainbow - 1 );
				while ( coreVariable < 0 )
					coreVariable = coreVariable + colorIntervalVariable * ( numberOfColorsInTheRainbow - 1 ) ;
				while ( coreVariable > colorIntervalVariable * ( numberOfColorsInTheRainbow - 1 ) )
					coreVariable = coreVariable - colorIntervalVariable * ( numberOfColorsInTheRainbow - 1 ) ;
				aColorBarHit = true;
				//someTargetColorHit = true;
			}
		for ( colorBarIndex = 0; colorBarIndex <= maxIndexOfVerticalColorBars; colorBarIndex++)
			if ( basispr.getArgb( x, y ) == blackGreenNumArray[colorBarIndex] )
			{
				colorBarDistance = 0;
				for ( colorBarCheck = y; colorBarCheck >= 0; colorBarCheck--)
				{
					if ( BasisPR.getArgb( x, colorBarCheck ) == blackGreenNumArray[colorBarIndex] )
						colorBarDistance++;
					else
						break;
				}
				coreVariable = colorBarDistance - Math.pow( xSlider / sliderInterval * ( colorBarIndex + 1 ) , 0.5 );
				colorIntervalVariable = lengthOfColorBar / ( numberOfColorsInTheRainbow - 1 );
				while ( coreVariable < 0 )
					coreVariable = coreVariable + colorIntervalVariable * ( numberOfColorsInTheRainbow - 1 ) ;
				while ( coreVariable > colorIntervalVariable * ( numberOfColorsInTheRainbow - 1 ) )
					coreVariable = coreVariable - colorIntervalVariable * ( numberOfColorsInTheRainbow - 1 ) ;
				aColorBarHit = true;
				//someTargetColorHit = true;
			}
		for ( colorBarIndex = 0; colorBarIndex <= maxIndexOfVerticalColorBars; colorBarIndex++)
			if ( basispr.getArgb( x, y ) == blackPurpleNumArray[colorBarIndex] )
			{
				colorBarDistance = 0;
				for ( colorBarCheck = y; colorBarCheck <= Dim.height; colorBarCheck++)
				{
					if ( basispr.getArgb( x, colorBarCheck ) == blackPurpleNumArray[colorBarIndex] )
						colorBarDistance++;
					else
						break;
				}
				coreVariable = colorBarDistance - Math.pow( xSlider / sliderInterval * ( colorBarIndex + 1 ) , 0.5 );
				colorIntervalVariable = lengthOfColorBar / ( numberOfColorsInTheRainbow - 1 );
				while ( coreVariable < 0 )
					coreVariable = coreVariable + colorIntervalVariable * ( numberOfColorsInTheRainbow - 1 ) ;
				while ( coreVariable > colorIntervalVariable * ( numberOfColorsInTheRainbow - 1 ) )
					coreVariable = coreVariable - colorIntervalVariable * ( numberOfColorsInTheRainbow - 1 ) ;
				aColorBarHit = true;
				//someTargetColorHit = true;
			}
		if (aColorBarHit == false)
			if ( origionalpr.getArgb( x, y ) != magentaNum && origionalpr.getArgb( x, y ) != whiteNum && origionalpr.getArgb( x, y ) != transparentNum )
			{
				otherBrowserColorHit = true;
			}
			else
				if ( basispr.getArgb( x, y ) == oxylBlueNum )
				{
					coreVariable = ( ( Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 ) ) + Math.PI ) * radialDistance ) / 2 + xSlider ;
					if (coreVariable < 0)
						coreVariable = coreVariable + fullAngle;
					else
						if (coreVariable > fullAngle)
							coreVariable = coreVariable - fullAngle;
					colorIntervalVariable = fullAngle / ( numberOfColorsInTheRainbow - 1 );
				}
				else
					if ( basispr.getArgb( x, y ) == wheelDiamondsNum )
					{
						if ( ( y - HalfedDim.height ) < - HalfedDim.height / 10)
						{
							if ( ( x - HalfedDim.width ) < HalfedDim.height / 10 && ( x - HalfedDim.width ) > - HalfedDim.height / 10) 
								eightColorDiamondsIndex = 0;
							else
								if ( ( x - HalfedDim.width ) + ( y - HalfedDim.height ) < HalfedDim.height / 10 && ( x - HalfedDim.width ) + ( y - HalfedDim.height ) > - HalfedDim.height / 10 )
									eightColorDiamondsIndex = 1;
								else
									if ( ( x - HalfedDim.width ) - ( y - HalfedDim.height ) < HalfedDim.height / 10 && ( x - HalfedDim.width ) - ( y - HalfedDim.height ) > - HalfedDim.height / 10 )
										eightColorDiamondsIndex = 7;
						}
						else
							if ( ( y - HalfedDim.height ) > HalfedDim.height / 10)
							{
								if ( ( x - HalfedDim.width ) < HalfedDim.height / 10 && ( x - HalfedDim.width ) > - HalfedDim.height / 10)
									eightColorDiamondsIndex = 4;
								else
									if ( ( x - HalfedDim.width ) - ( y - HalfedDim.height ) < HalfedDim.height / 10 && ( x - HalfedDim.width ) - ( y - HalfedDim.height ) > - HalfedDim.height / 10 )	
										eightColorDiamondsIndex = 3;
									else
										if ( ( x - HalfedDim.width ) + ( y - HalfedDim.height ) < HalfedDim.height / 10 && ( x - HalfedDim.width ) + ( y - HalfedDim.height ) > - HalfedDim.height / 10 )
											eightColorDiamondsIndex = 5;
							}
							else
								if ( x - HalfedDim.width > 0 )
									eightColorDiamondsIndex = 2;
								else
									if ( x - HalfedDim.width < 0 )
										eightColorDiamondsIndex = 6;
						eightColorDiamondsIndex = (int)Math.ceil( eightColorDiamondsIndex - 8 * xSlider / fullAngle );
						while ( eightColorDiamondsIndex < 0 )
							eightColorDiamondsIndex = eightColorDiamondsIndex + 8;
						while ( eightColorDiamondsIndex > 7 )
							eightColorDiamondsIndex = eightColorDiamondsIndex - 8;
						aWheelDiamondHit = true;
					}
						else
							if ( basispr.getArgb( x, y ) == wheelRodsNum )
							{
								coreVariable = ( Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 ) ) * radialDistance ) + xSlider / 16 ;
								while ( coreVariable < 0 )
									coreVariable = coreVariable + fullAngle / 8;
								while ( coreVariable > fullAngle / 8)
									coreVariable = coreVariable - fullAngle / 8;
								colorIntervalVariable = ( fullAngle / ( numberOfColorsInTheRainbow - 1 ) ) / 8;
							}
							else
								if ( basispr.getArgb( x, y ) == wheelEndsNum )
								{
									coreVariable = ( Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 ) ) * radialDistance ) - xSlider / 16 ;
									while ( coreVariable < 0 )
										coreVariable = coreVariable + fullAngle / 8;
									while ( coreVariable > fullAngle / 8)
										coreVariable = coreVariable - fullAngle / 8;
									colorIntervalVariable = ( fullAngle / ( numberOfColorsInTheRainbow - 1 ) ) / 8;
								}
								else // */
//		if ( basispr.getArgb( x, y ) == neonGreenNum )
//		{
//			coreVariable = outerRingThickness - Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - ( HalfedDim.height + 200) + 1, 2), 0.5) + outerRingThickness * xSlider / fullAngle;
//			while ( coreVariable < outerRingThickness )//outerRingThickness )
//				coreVariable = coreVariable + outerRingThickness;
//			while ( coreVariable > outerRingThickness )
//				coreVariable = coreVariable - outerRingThickness;
//			colorIntervalVariable = outerRingThickness / ( numberOfColorsInTheRainbow - 1 ); //- 1 );
//		}
/*
									else
										if ( basispr.getArgb( x, y ) == wheelMiddleRingNum )
										{
											coreVariable = middleRingRadius - Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - HalfedDim.height + 1, 2), 0.5) + 2 * middleRingThickness * xSlider / fullAngle ;
											while ( coreVariable < middleRingThickness )
												coreVariable = coreVariable + middleRingThickness;
											while ( coreVariable > middleRingThickness )
												coreVariable = coreVariable - middleRingThickness;
											colorIntervalVariable = middleRingThickness / ( numberOfColorsInTheRainbow - 1 );
										}
										else
											if ( basispr.getArgb( x, y ) == wheelInnerRingNum )
											{
												coreVariable = innerRingRadius - Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - HalfedDim.height + 1, 2), 0.5) + 4 * innerRingThickness * xSlider / fullAngle ;
												while ( coreVariable < innerRingThickness )
													coreVariable = coreVariable + innerRingThickness;
												while ( coreVariable > innerRingThickness )
													coreVariable = coreVariable - innerRingThickness;
												colorIntervalVariable = innerRingThickness / ( numberOfColorsInTheRainbow - 1 );
											}
											else
												if ( basispr.getArgb( x, y ) == wheelTipsNum )
													wheelTipsHit = true;
												else
													if ( Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y  - HalfedDim.height + 1, 2), 0.5) <= 47 )
													{
														radialVariableDistance = Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - HalfedDim.height + 1, 2), 0.5);//Comment Out For  Ghetto Many Rainbow Clocks
														angleVariable =  chrysanthemumRadius * ( ( - Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1) ) + Math.PI ) - 6 * Math.PI * xSlider / ( fullAngle / 10 ) );//Use For Rainbow Spiral Multiply radialDistance By 10 To Increase The Number Of Spirals
														radiusVariable = chrysanthemumRadius * ( radialVariableDistance * 24.6 + colorDisplacement + angleVariable);//radialVariableDistance + colorDisplacement + angle;//Remove + angle And Add xSlider To Make Rainbow Clock
														while ( radiusVariable < colorDisplacement)//For Rainbow Ring
															radiusVariable = radiusVariable + 2 * Math.PI * chrysanthemumRadius - colorDisplacement;//BAD COMMENT: For Rainbow Ring Take Out - 38
														while ( radiusVariable > 2 * Math.PI * chrysanthemumRadius )
															radiusVariable = radiusVariable - 2 * Math.PI * chrysanthemumRadius - colorDisplacement;
														colorIntervalVariable = 2 * Math.PI * chrysanthemumRadius / ( numberOfColorsInTheRainbow - 1 );
														coreVariable = radiusVariable;
													}// */
//		else //imperialFXcolors, imperialColorsNum
//			if ( basispr.getArgb( x, y ) == greenNum )
//			{
//				if ( origionalpr.getArgb(x, y) != magentaNum )
//					pattern2D.SimpleCustomColor((double)( Dim.width ), xSlider, (double)(x), (double)( Dim.width ), (double)(1), (int)( xSlider / sliderInterval ), /* ( Math.pow( 10 * xSlider / sliderInterval, 3 ) When Not Testing  ,*/ imperialColorsNum);
//rainbowSoftColor.RainbowSoftColorRainbowFunction( (double)( Dim.width ), (double)(x) );
//rainbowSoftColor.RainbowSoftColorRainbowTransparencyFunctionAdjusted((double)( Dim.width ), (double)(x), (double)(1), (int)( xSlider / sliderInterval ), /* ( Math.pow( 10 * xSlider / sliderInterval, 3 ) When Not Testing  , imperialFXcolors, */ (double)(1), (double)(1) );
//pattern2D.SimpleCustomColor( Dim.width, x, 1, (int)( xSlider / sliderInterval ) /* ( Math.pow( 10 * xSlider / sliderInterval, 3 ) When Not Testing */, imperialFXcolors );//(int)( (xSlider/sliderInterval) * 10 )^3
//				else
//					pattern2D.SimpleCustomColor((double)( Dim.width ), xSlider, (double)(x), (double)( Dim.width ), (double)(1), (int)( xSlider / sliderInterval ), /* ( Math.pow( 10 * xSlider / sliderInterval, 3 ) When Not Testing  ,*/ imperialColorsReverseNum);//imperialFXcolorsReverse);
//rainbowSoftColor.RainbowSoftColorRainbowFunctionReverse( (double)( Dim.width ), (double)(x) );
//rainbowSoftColor.RainbowSoftColorRainbowTransparencyFunctionReverseAdjusted((double)( Dim.width ), (double)(x), (double)(1), (int)( xSlider / sliderInterval ), /* ( Math.pow( 10 * xSlider / sliderInterval, 3 ) When Not Testing  , imperialFXcolorsReverse, */ (double)(1), (double)(1) );
//pattern2D.SimpleCustomColor( Dim.width, x, 1, (int)( xSlider / sliderInterval ) /* ( Math.pow( 10 * xSlider / sliderInterval, 3 ) When Not Testing */, imperialFXcolorsReverse );
//color = pattern2D.color;
//				someTargetColorHit = false;
//rainbowSoftColor.RainbowSoftColorRainbowTransparencyFunction((double)( Dim.width ), (double)(x), (double)(1), (int)( xSlider / sliderInterval ) /* ( Math.pow( 10 * xSlider / sliderInterval, 3 ) When Not Testing */, (double)(1), (double)(1) );
//transparencySlider.TransparencySliderFunction( (double)( Dim.width ), (double)(x), (double)(1), (int)( xSlider / sliderInterval ) /* ( Math.pow( 10 * xSlider / sliderInterval, 3 ) When Not Testing */, new TransparencySlider(pattern2D.ToFXColor()), new TransparencySlider(pattern2D.ToFXColor()), (double)(1), (double)(0) );
//				pw.setColor( x, y, pattern2D.ToFXColor() );//rainbowSoftColor.ToFXColor() );
//System.out.println("x: " + x + " y: " + y + " pr: "+ origionalpr.getColor( x, y ) + " cv: " + coreVariable + " civ: " + colorIntervalVariable );
//			}
//			else
//				someTargetColorHit = false;
/*if ( Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y  - HalfedDim.height + 1 + chrysanthemumYDisplacement, 2), 0.5) <= 64 )
				{//902 //1019
					someTargetColorInTheCenterHit = true;
					if ( basispr.getArgb( x, y ) == black6Num )
					{
						coreVariable = chrysanthemumRadius - Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - HalfedDim.height + 1 + chrysanthemumYDisplacement, 2), 0.5) + 6 * 0.175979734764 * chrysanthemumRadius * xSlider / ( fullAngle / 10 ) ;
						while ( coreVariable < 0.175979734764 * chrysanthemumRadius)
							coreVariable = coreVariable + 0.175979734764 * chrysanthemumRadius;
						while ( coreVariable > 0.175979734764 * chrysanthemumRadius)
							coreVariable = coreVariable - 0.175979734764 * chrysanthemumRadius;
						colorIntervalVariable = 0.175979734764 * chrysanthemumRadius / ( numberOfColorsInTheRainbow - 1 );
					}
					else
						if ( basispr.getArgb( x, y ) == white1Num )
						{
							radialVariableDistance = Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - HalfedDim.height + 1 + chrysanthemumYDisplacement, 2), 0.5);//Comment Out For  Ghetto Many Rainbow Clocks
							angleVariable =  chrysanthemumRadius * ( ( - Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 + chrysanthemumYDisplacement) ) + Math.PI ) - 6 * Math.PI * xSlider / ( fullAngle / 10 ) );//Use For Rainbow Spiral Multiply radialDistance By 10 To Increase The Number Of Spirals
							radiusVariable = chrysanthemumRadius * ( radialVariableDistance * 24.6 + colorDisplacement + angleVariable);//radialVariableDistance + colorDisplacement + angle;//Remove + angle And Add xSlider To Make Rainbow Clock
							while ( radiusVariable < colorDisplacement)//For Rainbow Ring
								radiusVariable = radiusVariable + 2 * Math.PI * chrysanthemumRadius - colorDisplacement;//BAD COMMENT: For Rainbow Ring Take Out - 38
							while ( radiusVariable > 2 * Math.PI * chrysanthemumRadius )
								radiusVariable = radiusVariable - 2 * Math.PI * chrysanthemumRadius - colorDisplacement;
							colorIntervalVariable = 2 * Math.PI * chrysanthemumRadius / ( numberOfColorsInTheRainbow - 1 );
							coreVariable = radiusVariable;
						}
						else
							if ( basispr.getArgb( x, y ) == white2Num )
							{
								coreVariable = x - 902 - chrysanthemumRadius * 2 * xSlider / ( fullAngle / 10 );
								while (coreVariable < 0)
									coreVariable = coreVariable + chrysanthemumRadius * 2;
								while (coreVariable > chrysanthemumRadius * 2)
									coreVariable = coreVariable - chrysanthemumRadius * 2;
								colorIntervalVariable = chrysanthemumRadius * 2 / (numberOfColorsInTheRainbow - 1 );
							}
							else
								if ( basispr.getArgb( x, y ) == white3Num )
								{
									angleVariable = - chrysanthemumRadius *  2 * Math.PI * ( ( Math.atan2( (x - HalfedDim.width + 1) , ( y - HalfedDim.height + 1 + chrysanthemumYDisplacement ) ) + Math.PI ) + xSlider / ( ( chrysanthemumNumberOfPedals - 1 ) * fullAngle / 10 ) ) ;
									while (angleVariable < 0)
										angleVariable = angleVariable + chrysanthemumRadius / ( chrysanthemumNumberOfPedals - 1);
									while (angleVariable > chrysanthemumRadius / (chrysanthemumNumberOfPedals - 1) )
										angleVariable = angleVariable - chrysanthemumRadius / ( chrysanthemumNumberOfPedals - 1);
									coreVariable = angleVariable;
									colorIntervalVariable = chrysanthemumRadius / ( ( numberOfClockHandsForRainbow - 1 ) * ( chrysanthemumNumberOfPedals - 1) );
								}
								else
									if ( basispr.getArgb( x, y ) == white4Num )
									{
										radialVariableDistance = Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - HalfedDim.height + 1 + chrysanthemumYDisplacement, 2), 0.5);//Comment Out For  Ghetto Many Rainbow Clocks
										angleVariable = ( ( - Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 + chrysanthemumYDisplacement) ) + Math.PI ) - 6 * Math.PI * xSlider / ( fullAngle / 10 ) ) * 10 * chrysanthemumRadius;//Use For Rainbow Spiral Multiply radialDistance By 10 To Increase The Number Of Spirals
										radiusVariable = ( radialVariableDistance * 24.6 + colorDisplacement + angleVariable ) / ( 2 * chrysanthemumRadius);//radialVariableDistance + colorDisplacement + angle;//Remove + angle And Add xSlider To Make Rainbow Clock
										while ( radiusVariable < colorDisplacement)//For Rainbow Ring
											radiusVariable = radiusVariable + 2 * chrysanthemumRadius * Math.PI - colorDisplacement;//BAD COMMENT: For Rainbow Ring Take Out - 38
										while ( radiusVariable > 2 * chrysanthemumRadius * Math.PI )
											radiusVariable = 2 * chrysanthemumRadius * Math.PI - colorDisplacement;
										colorIntervalVariable = 2 * chrysanthemumRadius * Math.PI / ( numberOfColorsInTheRainbow - 1 );
										coreVariable = radiusVariable;// / ( Dim.height / 64);
									}
									else
										if ( basispr.getArgb( x, y ) == simpleBlueNum )
										{//951 To 969
											coreVariable = chrysanthemumInnerRadius - Math.pow(Math.pow(x - HalfedDim.width, 2) + Math.pow( y - HalfedDim.height + chrysanthemumYDisplacement, 2), 0.5) + 88 * chrysanthemumInnerRadius * xSlider / ( fullAngle / 10 ) ;
											while ( coreVariable < chrysanthemumInnerRadius)
												coreVariable = coreVariable + chrysanthemumInnerRadius;
											while ( coreVariable > chrysanthemumInnerRadius)
												coreVariable = coreVariable - chrysanthemumInnerRadius;
											colorIntervalVariable = chrysanthemumInnerRadius / ( numberOfColorsInTheRainbow - 1 );
										}
										else
											someTargetColorInTheCenterHit = false;
				}
		if (aColorBarHit == false)
			if ( someTargetColorInTheCenterHit == false )
				if ( basispr.getArgb( x, y ) == oxylBlueNum)
				{
					//makePixelTransparent = true;//Comment This Line Out For Rainbow Strobe Effect
					angleVariable = Math.atan2( (x - HalfedDim.width + 1) , (y - Dim.height * 4 / 3 + 1 ) );// For Rising Sun + 1
					aVariable = ( angleVariable * /*Math.cos( angle ) * Math.sin( angle ) * Math.pow(radialVariableDistance, 1)/ Math.tan( angleVariable ) /*+ Math.PI|STAR|/ )  * radialDistance / 4.46783504 + xSlider;// + Or - xSlider Determines Which Direction It Moves //For Infinite Number Theorem Good a = ( angle * /*Math.cos( angle ) * Math.sin( angle ) * Math.pow(radialVariableDistance, 1)|STAR|/ Math.tan( angle ) + Math.PI )  * radialDistance / 4.46783504 - xSlider;  //a = ( angle /*Math.cos( angle ) * Math.sin( angle ) * Math.pow(radialVariableDistance, 1)|STAR|/ Math.tan( angle ) + Math.PI )  * radialDistance / 4.46783504 - xSlider;//Use For Rainbow Spiral Multiply radialDistance By 10 To Increase The Number Of Spirals //Use This: "a = ( - angle + Math.PI ) * radialDistance;" Line For Rainbow Clock //a = ( - angle * Math.tan( angle ) + Math.PI ) * radialDistance - xSlider; For Infinite Number Theorem //a = ( - angle * Math.cos( angle ) * Math.sin( angle ) * Math.pow(radialVariableDistance, 2) + Math.PI ) * radialDistance - xSlider; |STAR|/
					radiusVariable = aVariable * 10;
					// |STAR|///For Old Infinite Number Theorem Use Above
					//radius = a * 10;//For Rainbow Spiral And Clock
					//}
					while ( radiusVariable < colorDisplacementVariable)//For Rainbow Ring
						radiusVariable = radiusVariable + fullAngle - colorDisplacementVariable;//BAD COMMENT: For Rainbow Ring Take Out - 38
					while ( radiusVariable > fullAngle )//radius > fullAngle For Non Infinite Number Theorem
						radiusVariable = radiusVariable - fullAngle - colorDisplacementVariable; //radius = radius - fullAngle; For Non Infinite Number Theorem //For Rainbow Clock Comment Out To Here. Here -- |STAR|/
					colorIntervalVariable = colorIntervalForWholeScreen;
					coreVariable = radiusVariable;
				}
				else
					if ( basispr.getArgb( x, y ) == skyBlueNum)
					{
						radialVariableDistance = Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - HalfedDim.height + 1, 2), 0.5);//Comment Out For  Ghetto Many Rainbow Clocks
						angleVariable = ( ( - Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 ) ) + Math.PI ) - 6 * Math.PI * xSlider / ( fullAngle / 10 ) ) * radialDistance;//Use For Rainbow Spiral Multiply radialDistance By 10 To Increase The Number Of Spirals
						radiusVariable = radialVariableDistance * 24.6 + colorDisplacement + angleVariable;//radialVariableDistance + colorDisplacement + angle;//Remove + angle And Add xSlider To Make Rainbow Clock
						while ( radiusVariable < colorDisplacement)//For Rainbow Ring
							radiusVariable = radiusVariable + fullAngle - colorDisplacement;//BAD COMMENT: For Rainbow Ring Take Out - 38
						while ( radiusVariable > fullAngle )
							radiusVariable = radiusVariable - fullAngle - colorDisplacement;
						colorIntervalVariable = fullAngle / ( numberOfColorsInTheRainbow - 1 );
						coreVariable = radiusVariable;						
					}
					else
						if ( basispr.getArgb( x, y ) == magentaNum)
						{
							coreVariable = HalfedDim.height - Math.pow(Math.pow(x - HalfedDim.width + 1, 2) + Math.pow( y - HalfedDim.height + 1, 2), 0.5) + 6 * 0.175979734764 * xSlider * HalfedDim.height / ( fullAngle / 10 ) ;
							while ( coreVariable < 0.175979734764 * HalfedDim.height)
								coreVariable = coreVariable + 0.175979734764 * HalfedDim.height;
							while ( coreVariable > 0.175979734764 * HalfedDim.height)
								coreVariable = coreVariable - 0.175979734764 * HalfedDim.height;
							colorIntervalVariable = 0.175979734764 * HalfedDim.height / ( numberOfColorsInTheRainbow - 1 );
						}
						else
							if ( basispr.getArgb( x, y ) == neonGreenNum )
							{
								angleVariable = radialDistance * ( ( Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 ) ) + Math.PI ) + 2 * Math.PI * xSlider / ( fullAngle / 10 ) );
								while (angleVariable < 0)
									angleVariable = angleVariable + fullAngle * 2;
								while (angleVariable > fullAngle * 2)
									angleVariable = angleVariable - fullAngle * 2;
								coreVariable = angleVariable;
								colorIntervalVariable = ( 2 * fullAngle ) / ( numberOfClockHandsForRainbow - 1 );
								//angle = 0;//Testing Purposes Only.
							}
							else
								if ( basispr.getArgb( x, y ) == halfGreyNum )
								{
									angleVariable = - radialDistance * ( ( Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 ) ) + Math.PI ) - 2 * Math.PI * xSlider / ( fullAngle / 10 ) );
									while (angleVariable < 0)
										angleVariable = angleVariable + fullAngle * 2;
									while (angleVariable > fullAngle * 2)
										angleVariable = angleVariable - fullAngle * 2;
									coreVariable = angleVariable;
									colorIntervalVariable = ( 2 * fullAngle ) / ( numberOfClockHandsForRainbow - 1 );
									//angle = 0;//Testing Purposes Only.
								}
								else
									if ( basispr.getArgb( x, y ) == maroonNum )//neonGreenNum)
									{
										angleVariable = - radialDistance * ( ( Math.atan2( (x - HalfedDim.width + 1) , (y - HalfedDim.height + 1 ) ) + Math.PI ) + 2 * Math.PI * xSlider / ( (numberOfClockHandsForOrderOfMagi - 1) * fullAngle / 10 ) );
										while (angleVariable < 0)
											angleVariable = angleVariable + fullAngle * 2 / ( numberOfClockHandsForOrderOfMagi - 1);
										while (angleVariable > fullAngle * 2 / ( numberOfClockHandsForOrderOfMagi - 1) )
											angleVariable = angleVariable - fullAngle * 2 / ( numberOfClockHandsForOrderOfMagi - 1);
										coreVariable = angleVariable;
										colorIntervalVariable = ( 2 * fullAngle ) / ( ( numberOfColorsForOrderOfMagi - 1 ) * ( numberOfClockHandsForOrderOfMagi - 1) );
										//angle = 0;//Testing Purposes Only.
										if ( origionalpr.getArgb( x, y ) == magentaNum )//shitBrownNum )//origionalpr.getArgb(x, y) == magentaNum )// == magecoreVariable// == webBlackNum
											if ( coreVariable < colorIntervalVariable  + colorDisplacement)//For Normal Rainbow Use This Instead Of The Others
												color.ColorSliderFunction(colorIntervalVariable, coreVariable - colorDisplacement, blue, green);
											else
												color.ColorSliderFunction(colorIntervalVariable, coreVariable - colorIntervalVariable - colorDisplacement, green, blue);
										else//|STAR|/
											if ( coreVariable < colorIntervalVariable  + colorDisplacement)//For Normal Rainbow Use This Instead Of The Others
												color.ColorSliderFunction(colorIntervalVariable, coreVariable - colorDisplacement, green, blue);
											else
												color.ColorSliderFunction(colorIntervalVariable, coreVariable - colorIntervalVariable - colorDisplacement, blue, green);//*
										pw.setArgb( x, y, (int)(255 * 16777216 + (int)color.rgb[0] * 65536 + (int)color.rgb[1] * 256 + (int)color.rgb[2]));//setArgb
										greenBlueGreenUsed = true;
									}
									else
										if ( basispr.getArgb( x, y ) == pinkNum )
										{//304 + 244 = 548 // 656 //Need Correction For Screen Size !!
											coreVariable = x - 656 - 628 * xSlider / ( fullAngle / 10 );
											while (coreVariable < 0)
												coreVariable = coreVariable + 628;
											while (coreVariable > 628)
												coreVariable = coreVariable - 628;
											colorIntervalVariable =  628 / (numberOfColorsInTheRainbow - 1 );
										}
										else
											someTargetColorHit = false;//*/




//End Of Basis Image Switch System
//		if ( origionalpr.getArgb( x, y ) == oxylBlue0FFNum)
/*if ( basispr.getArgb( x, y ) != neonGreenNum && neonGreenCheck.ColorTooSimilarFunction( oxylBlue0FFNum, basispr.getArgb( x, y ) ) )//origionalpr.getArgb( x, y ) , 
				pw.setArgb( x, y, neonGreenNum);//shitBrownNum);//pr.getArgb( x, y ) );
			else//*/
//			pw.setArgb( x, y, oxylBlue0FFNum);
//		else
/*if (otherBrowserColorHit == true)
				pw.setArgb( x, y, origionalpr.getArgb( x, y ) );
			else
				if (makePixelTransparent == true)
					pw.setArgb( x, y, transparentNum );
				else
					if ( greenBlueGreenUsed == false )// */
/*if ( aWheelDiamondHit == true)
				if ( origionalpr.getArgb( x, y ) == magentaNum )//shitBrownNum )
					pw.setArgb( x, y, magentaNum );
				else
					pw.setArgb( x, y, wheelDiamondsArrayNum[eightColorDiamondsIndex] );
			else
				if ( wheelTipsHit == true)
					if (xSlider <= fullAngle - 8.468 * sliderInterval )
						pw.setArgb( x, y, greenNum );
					else
						pw.setArgb( x, y, redNum );
				else// */
//			if ( someTargetColorHit == true)//numberOfClockHandsForOrderOfMagi  //greenBlueGreenUsed
//			{
//System.out.println("x: " + x + " y: " + y + " pr: "+ origionalpr.getColor( x, y ) + " cv: " + coreVariable + " civ: " + colorIntervalVariable );
//	if ( coreVariable >= colorDisplacementVariable && coreVariable < (numberOfColorsInTheRainbow - 1) * colorIntervalVariable  + colorDisplacement)//For Purple Outside Ring
//{//Retain Below If Else And Use New Variable Names And Equate Them With If Switch Below New Variable Name Comment Above // Make html Text Flip shitBrownNum Color!
//				if ( origionalpr.getArgb( x, y ) == magentaNum )//shitBrownNum )//origionalpr.getArgb(x, y) == magentaNum )// == magecoreVariable// == webBlackNum
//					color.RainbowSoftColorRainbowFunctionReverseAdjusted(colorIntervalVariable, coreVariable, 1, 2);//Highest int = 2,147,483,647
//				else
//					color.RainbowSoftColorRainbowFunctionAdjusted(colorIntervalVariable, coreVariable, 1, 0);
//color.RainbowSoftColorRainbowFunction(colorIntervalVariable, colorIntervalVariable * 6 - coreVariable);
/*if ( coreVariable < colorIntervalVariable  + colorDisplacement)//For Normal Rainbow Use This Instead Of The Others
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - colorDisplacement, purple, blue);
					else if ( coreVariable < ( 2 * colorIntervalVariable  + colorDisplacement) )
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - colorIntervalVariable - colorDisplacement, blue, teal);
					else if ( coreVariable < ( 3 * colorIntervalVariable  + colorDisplacement) )		
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - 2 * colorIntervalVariable - colorDisplacement, teal, pink);
					else if ( coreVariable < ( 4 * colorIntervalVariable  + colorDisplacement) )
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - 3 * colorIntervalVariable - colorDisplacement, pink, yellow);
					else if ( coreVariable < ( 5 * colorIntervalVariable  + colorDisplacement) )
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - 4 * colorIntervalVariable - colorDisplacement, yellow, orange);
					else
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - 5 * colorIntervalVariable - colorDisplacement, orange, red);
				else
					if ( coreVariable < colorIntervalVariable  + colorDisplacement)//For Normal Rainbow Use This Instead Of The Others
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - colorDisplacement, red, orange);
					else if ( coreVariable < ( 2 * colorIntervalVariable  + colorDisplacement) )
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - colorIntervalVariable - colorDisplacement, orange, yellow);
					else if ( coreVariable < ( 3 * colorIntervalVariable  + colorDisplacement) )		
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - 2 * colorIntervalVariable - colorDisplacement, yellow, green);
					else if ( coreVariable < ( 4 * colorIntervalVariable  + colorDisplacement) )
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - 3 * colorIntervalVariable - colorDisplacement, green, teal);
					else if ( coreVariable < ( 5 * colorIntervalVariable  + colorDisplacement) )
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - 4 * colorIntervalVariable - colorDisplacement, teal, blue);
					else
						color.ColorSliderFunction(colorIntervalVariable, coreVariable - 5 * colorIntervalVariable - colorDisplacement, blue, purple);// */
//System.out.println("x: " + x + " y: " + y + " (int)color.rgb[1]: " + (int)color.rgb[1]);
//tempFXColor = color.ToFXColor().invert();
//tempFXColor = tempFXColor.rgb((int)color.rgb[0] , Math.abs( (int)color.rgb[1] ), (int)color.rgb[2]).invert();//Temporary Fix Mat.abs On This Line
//color.rgb = new double[] { ( tempFXColor.getRed() + 1/256 ) * 256 - 1 , ( tempFXColor.getGreen() + 1/256 ) * 256 - 1, (tempFXColor.getBlue() + 1/256 ) * 256 - 1 };
//pw.setArgb( x, y, (int)(255 * 16777216 + (int)color.rgb[0] * 65536 + (int)color.rgb[1] * 256 + (int)color.rgb[2]));
//				pw.setColor(x, y, color.ToFXColor());//.invert());
//			}
//			else
//				if ( origionalpr.getArgb( x, y ) != magentaNum && basispr.getArgb( x, y ) != greenNum )//shitBrownNum )
//					pw.setArgb( x, y, basispr.getArgb( x, y ) );
/*else
								if ( origionalpr.getArgb( x, y ) == oxylBlue0FFNum)
									if ( basispr.getArgb( x, y ) != neonGreenNum && neonGreenCheck.ColorTooSimilarFunction( oxylBlue0FFNum, basispr.getArgb( x, y ) ) )//origionalpr.getArgb( x, y ) , 
										pw.setArgb( x, y, neonGreenNum);//shitBrownNum);//pr.getArgb( x, y ) );
									else
										pw.setArgb( x, y, oxylBlue0FFNum);//*/
/*else
							//System.out.println( neonGreenCheck.ColorTooSimilarFunction( origionalpr.getArgb( x, y ), basispr.getArgb( x, y ) ) );
							if ( neonGreenCheck.ColorTooSimilarFunction( neonGreenNum, basispr.getArgb( x, y ) ) )//origionalpr.getArgb( x, y ) , 
								pw.setArgb( x, y, skyBlueNum);//shitBrownNum);//pr.getArgb( x, y ) );
							else
								pw.setArgb( x, y, neonGreenNum);// */
