package rainbowPackage;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;

//import java.io.PrintWriter;
//import java.util.Timer;
//import java.util.TimerTask;
import javax.imageio.ImageIO;

/*import org.bytedeco.javacv.*;
import org.bytedeco.javacv.Frame;
import org.bytedeco.ffmpeg.global.avutil;
import org.bytedeco.javacv.OpenCVFrameConverter;
import org.bytedeco.javacv.FrameConverter;
import org.bytedeco.opencv.opencv_core.Mat;
import org.opencv.core.Core;// */
//import org.bytedeco.opencv.opencv_core.IplImage;
//import org.bytedeco.ffmpeg.global.avcodec;
//import org.bytedeco.javacpp.*;
//import org.bytedeco.javacv.OpenCVFrameConverter;
//import java.awt.image.BufferedImage;

//import org.bytedeco.javacv.FFmpegFrameRecorder.*;

//import org.bytedeco.ffmpeg.*;
//import org.bytedeco.ffmpeg.global.avutil.*;

//import org.bytedeco.javacv.Frame;

//import java.util.concurrent.locks.Lock;
//import java.util.concurrent.locks.ReentrantLock;

import org.jcodec.api.awt.AWTSequenceEncoder;
import org.jcodec.common.io.NIOUtils;
import org.jcodec.common.io.SeekableByteChannel;
//import org.jcodec.common.model.Rational;
import org.jcodec.common.model.Rational;

/*import java.io.*;
import org.jcodec.api.SequenceEncoder;
import org.jcodec.api.SequenceEncoder.*;
import org.jcodec.api.awt.*;
import org.jcodec.api.awt.AWTSequenceEncoder.*;
import org.jcodec.common.Codec;
import org.jcodec.common.Format;
import org.jcodec.common.model.Rational;
import org.jcodec.scale.AWTUtil;
import org.jcodec.api.*;
import java.nio.channels.*; // */ 
//import java.nio.channels.SeekableByteChannel;
//import org.jcodec.*;//Keep For .mp4 Video Creation
//import java.awt.*;
//import java.awt.image.*;
import javafx.geometry.Dimension2D;
import javafx.application.Platform;
//import javafx.application.Platform;
import javafx.embed.swing.SwingFXUtils;
import javafx.fxml.FXMLLoader;
import javafx.geometry.Rectangle2D;
//import javafx.event.EventHandler;
import javafx.scene.control.Label;
//import javafx.collections.ObservableList;
//import rainbowPackage.RainbowSoftColorCodesSets.BuddhismSchemeSet;
//import rainbowPackage.vibrantColors;
//import rainbowPackage.vibrantColorCombos;
/*import javafx.animation.Animation;
import javafx.animation.KeyFrame;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.util.Duration;// */
import javafx.scene.*;
import javafx.scene.image.*;
import javafx.scene.image.Image;
//import javafx.scene.layout.Background;
//import javafx.scene.control.Dialog.*;
//import javafx.scene.control.Control.*;
//import javafx.scene.input.MouseEvent;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
//import javafx.scene.web.WebEngine;
//import javafx.scene.web.WebView;
import javafx.stage.Screen;
import javafx.stage.Stage;
import javafx.stage.StageStyle;


public class RainbowVideo
{
	private int basisImageViewIndex;//static?
	private double sliderInterval = 100;
	private VibrantColors vibrantColors = new VibrantColors();
	private VibrantColorCombos vibrantColorCombos = new VibrantColorCombos();
	//private RainbowSoftColorCodesSets rainbowSoftColorCodesSets = new RainbowSoftColorCodesSets();
	//private ColorSets colorSets = new ColorSets();
	private GlobalSelector globalSelector;
	private Diagnostics diagnostics;// = null;
	//private ColorSlider colorSlider = new ColorSlider( new double[]{0,0,0} );
	//private ColorSlider colorSliderTwo = new ColorSlider( new double[]{255,255,255} );
	private RainbowPattern2D rainbowPattern2D;// = new RainbowPattern2D( new double[]{0,0,0,1} );
	//private RainbowPattern2D rainbowPattern2DArray[] = { new RainbowPattern2D( new double[]{0,0,0,1} ), new RainbowPattern2D( new double[]{0,0,0,1} ), new RainbowPattern2D( new double[]{0,0,0,1} ), new RainbowPattern2D( new double[]{0,0,0,1} ), new RainbowPattern2D( new double[]{0,0,0,1} ), };
	//private RainbowSoft2D rainbowSoft2D = new RainbowSoft2D( new double[]{0,0,0,1} );
	private RainbowPostPattern2D rainbowPostPattern2D;// = new RainbowPostPattern2D();// = new RainbowClock( new double[]{0,0,0,1} );//!OLD Message!Comment Out What You Are Not Using Above TransparencySlider Or Only RainbowClock Will Work
	private Buddhism buddhism;// = new Buddhism();// = new Buddhism( new double[]{0,0,0,1} );
	private MagiElite magiElite;// = new MagiElite();// = new MagiElite( new double[]{0,0,0,1} );
	private FwaSplashLogo fwaSplashLogo;// = new FwaSplashLogo();// = new FwaSplashLogo( new double[]{0,0,0,1} );
	private FwaFlagSplashLogo fwaFlagSplashLogo;
	private FwaFlagLogo fwaFlagLogo;// = new FwaFlagSplashLogo();// = new FwaFlagSplashLogo( new double[]{0,0,0,1} );
	private BattleInterface battleInterface;
	//private TransparencySlider transparencySlider = new TransparencySlider( new double[]{0,0,0,1} );
	//private RainbowSoftColor rainbowSoftColor = new RainbowSoftColor( new double[]{0,0,0,1} );
	//private Color tempFXColor = Color.BLACK;
	private ColorArrayReverser colorArrayReverser = new ColorArrayReverser();
	public RainbowOvalFitting[] rainbowOvalFitting = new RainbowOvalFitting[5];
	private Stage tertiaryStage;
	private Image tertiaryBasisImage[];
	private Image tertiaryBackgroundBasisImage[];
	//private Image tertiaryMeasurementBasisImage[];
	//private Image tertiaryCurrentBrowserImage;
	//private WebEngine thirdBrowserEngine;
	//private WebView thirdBrowser;
	private StackPane thirdStackPaneForBasis;
	private StackPane thirdStackPaneForBackground;
	//private StackPane thirdStackPaneForMeasurement[];
	private StackPane thirdStackPaneForBrowser;
	private Scene thirdScene, sceneForBasis, sceneForBackground, sceneForBrowser;//thirdSceneForWriting,
	//private Scene[] sceneForMeasurement;
	//private SceneReturner sceneForBasis = new SceneReturner();
	//private SceneReturner sceneForBackground = new SceneReturner();
	//private SceneReturner sceneForBrowser = new SceneReturner();
	private Screen thirdScreen;
	//private Label thirdStateLabel;
	//private File thirdFile;
	//private File thirdJavaScriptFile;
	//private File thirdXSliderFile;
	//private Thread tertiaryThread;
	private boolean tertiaryIsFullScreened;
	private Image tertiaryBackUpWorkAroundImage;
	private double tertiaryXslider = 0;
	private double videoFrameQuantity = 7;
	private int framesPerSecond = 25;
	private double startingPoint = 0;
	private double videoSequenceLoopQuantity;
	//private double videoSplittingQuantity = 1;
	//private int currentBasisViewIndex = 0;
	private double gradientExpontierMultiplier = 1.04;
	private double tertiaryBackgroundBasisImageWidth;
	private double tertiaryBackgroundBasisImageHeight;
	//private double numberOfScrollFrames;
	private boolean completeRainbowFirmSystemDemoVideo;
	private SeekableByteChannel tertiaryVideoOut;
	//private FFmpegFrameRecorder thirdRecorder;
	private AWTSequenceEncoder thirdEncoder;//AWTSequenceEncoder encoder;
	//private Camera camera;
	private WritableImage tertiaryWritableImage;
	//private PixelReader tertiaryCurrentBrowserImagePR;
	//private PixelReader tertiaryBrowserTransitionImagePR;
	//private PixelWriter tertiaryCurrentBrowserImagePW;
	//private PixelReader tertiaryBackUpWorkAroundImagePR;
	private PixelReader tertiaryBackgroundBasisImagePR[];
	private PixelReader tertiaryBasisImagePR[];
	//private PixelReader tertiaryMeasurementBasisImagePR[];
	private PixelWriter tertiaryPW/*[]*/;
	//private PixelWriter tertiaryBrowserPW;
	private ImageView /*tertiaryCurrentBrowserImageView,*/ tertiaryBackUpWorkAroundImageView, tertiaryBasisImageView[] = new ImageView[4], tertiaryBackgroundBasisImageView[] = new ImageView[4];//, tertiaryMeasurementBasisImageView[] = new ImageView[2];//tertiaryCurrentTransitionBrowserImageView,
	//private WritableImage tertiaryBufferPictureForWritableImage, tertiaryBufferPictureForBrowser;//, tertiaryBrowserWritableImage, tertiaryBufferPictureForTransitionWritableBrowserImage;

	private Parent tertiaryRoot, /*interfaceRoot,*/ basisRoot, backgroundRoot, browserRoot;
	private Parent[] measurementRoot;
	
	//final Object lock = new Object();
	
	//public Image correctiveFitImageArray[] = new Image[11];

	private RainbowStruct tertiaryRainbowStruct;
	
	public RainbowVideo ( Stage TertiaryStage, Image[] TertiaryBackgroundBasisImage, Image[] TertiaryBasisImage, Image[] TertiaryMeasurementBasisImage,/*Image TertiaryCurrentBrowserImage,*/ Image TertiaryBackUpWorkAroundImage,
			/*WebEngine ThirdBrowserEngine, WebView ThirdBrowser, */ StackPane ThirdStackPaneForBackground, StackPane ThirdStackPaneForBasis, StackPane[] ThirdStackPaneForMeasurement, StackPane ThirdStackPaneForBrowser,
			Scene ThirdScene, Screen ThirdScreen, Label ThirdStateLabel, /*FFmpegFrameRecorder ThirdRecorder, File ThirdFile,*/ AWTSequenceEncoder ThirdEncoder, SeekableByteChannel TertiaryVideoOut, /*File ThirdJavaScriptFile,
			File ThirdXSliderFile,*/ /*Thread TertiaryThread,*/ WritableImage TertiaryWritableImage, WritableImage TertiaryBufferPictureForWritableImage,
			/*WritableImage TertiaryBrowserWritableImage, WritableImage TertiaryBufferPictureForBrowser, PixelReader TertiaryCurrentBrowserImagePR, PixelReader TertiaryBrowserTransitionImagePR,*/
			PixelReader TertiaryBackUpWorkAroundImagePR, PixelReader[] TertiaryBackgroundBasisImagePR, PixelReader[] TertiaryBasisImagePR, PixelReader[] TertiaryMeasurementBasisImagePR, PixelWriter/*[]*/ TertiaryPW, /*PixelWriter TertiaryBrowserPW,
			ImageView TertiaryCurrentBrowserImageView, ImageView TertiaryCurrentTransitionBrowserImageView,*/ ImageView TertiaryBackUpWorkAroundImageView, ImageView[] TertiaryBackgroundBasisImageView, ImageView[] TertiaryBasisImageView, ImageView[] TertiaryMeasurementBasisImageView,
			boolean TertiaryIsFullScreened, double VideoFrameQuantity, final int FramesPerSecond, final int BasisImageViewIndex, double StartingPoint, double VideoSequenceLoopQuantity,
			double TertiaryBackgroundBasisImageWidth, double TertiaryBackgroundBasisImageHeight, double NumberOfScrollFrames, Parent TertiaryRoot, RainbowStruct TertiaryRainbowStruct ) throws IOException, FileNotFoundException
	{
		tertiaryStage = TertiaryStage;

		//tertiaryCurrentBrowserImage = TertiaryCurrentBrowserImage;
		//thirdBrowserEngine = ThirdBrowserEngine;
		//thirdBrowser = ThirdBrowser;
		thirdStackPaneForBasis = ThirdStackPaneForBasis;
		thirdStackPaneForBackground = ThirdStackPaneForBackground;
		//thirdStackPaneForMeasurement = ThirdStackPaneForMeasurement;
		thirdStackPaneForBrowser = ThirdStackPaneForBrowser;
		thirdScene = ThirdScene;
		thirdScreen = ThirdScreen;
		//thirdStateLabel = ThirdStateLabel;
		//thirdFile = ThirdFile;
		//thirdJavaScriptFile = ThirdJavaScriptFile;
		//thirdXSliderFile = ThirdXSliderFile;
		//tertiaryThread = TertiaryThread;
		tertiaryIsFullScreened = TertiaryIsFullScreened;
		tertiaryBackUpWorkAroundImage = TertiaryBackUpWorkAroundImage;
		videoFrameQuantity = VideoFrameQuantity;
		framesPerSecond = FramesPerSecond;
		startingPoint = StartingPoint;
		videoSequenceLoopQuantity = VideoSequenceLoopQuantity;
		//thirdRecorder = ThirdRecorder;
		thirdEncoder = ThirdEncoder;
		tertiaryVideoOut = TertiaryVideoOut;

		tertiaryWritableImage = TertiaryWritableImage;
		//tertiaryCurrentBrowserImagePR = TertiaryBackUpWorkAroundImagePR;
		//tertiaryBrowserTransitionImagePR = TertiaryBrowserTransitionImagePR;
		//tertiaryBackUpWorkAroundImagePR = TertiaryBackUpWorkAroundImagePR;


		tertiaryPW = TertiaryPW;
		//tertiaryBrowserPW = TertiaryBrowserPW;
		//tertiaryCurrentBrowserImageView = TertiaryCurrentBrowserImageView;
		//tertiaryCurrentTransitionBrowserImageView = TertiaryCurrentTransitionBrowserImageView;
		tertiaryBackUpWorkAroundImageView = TertiaryBackUpWorkAroundImageView;

		tertiaryBasisImage = TertiaryBasisImage;
		tertiaryBackgroundBasisImage = TertiaryBackgroundBasisImage;
		//tertiaryMeasurementBasisImage = TertiaryMeasurementBasisImage;
		tertiaryBackgroundBasisImagePR = TertiaryBackgroundBasisImagePR;
		tertiaryBasisImagePR = TertiaryBasisImagePR;
		//tertiaryMeasurementBasisImagePR = TertiaryMeasurementBasisImagePR;
		tertiaryBasisImageView = TertiaryBasisImageView;
		tertiaryBackgroundBasisImageView = TertiaryBackgroundBasisImageView;
		//tertiaryMeasurementBasisImageView = TertiaryMeasurementBasisImageView;
		/*for ( int i = 0; i < TertiaryBasisImage.length; i++ )
		{
			tertiaryBasisImage[i] = TertiaryBasisImage[i];
			tertiaryBackgroundBasisImage[i] = TertiaryBackgroundBasisImage[i];
			tertiaryBackgroundBasisImagePR[i] = TertiaryBackgroundBasisImagePR[i];
			tertiaryBasisImagePR[i] = TertiaryBasisImagePR[i];
			tertiaryBasisImageView[i] = TertiaryBasisImageView[i];
			tertiaryBackgroundBasisImageView[i] = TertiaryBackgroundBasisImageView[i];
		}// */

		//tertiaryBufferPictureForWritableImage = TertiaryBufferPictureForWritableImage;
		//tertiaryBrowserWritableImage = TertiaryBrowserWritableImage;
		//tertiaryBufferPictureForBrowser = TertiaryBufferPictureForBrowser;

		tertiaryRainbowStruct = TertiaryRainbowStruct;
		
		tertiaryBackgroundBasisImageWidth = TertiaryBackgroundBasisImageWidth;
		tertiaryBackgroundBasisImageHeight = TertiaryBackgroundBasisImageHeight;

		/*URL interface2DURL = null;
		try {
			interface2DURL = URI.create("file:///C:/Dev/RainbowFirm/RainbowSoft/rainbowPackage/3Dfxml/View2DInterface.fxml").toURL();
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}// */
		URL basis2DURL = null;
		try {
			basis2DURL = URI.create("file:///C:/Dev/RainbowFirm/RainbowSoft/rainbowPackage/3Dfxml/View2DBasis.fxml").toURL();
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		URL background2DURL = null;
		try {
			background2DURL = URI.create("file:///C:/Dev/RainbowFirm/RainbowSoft/rainbowPackage/3Dfxml/View2DBackground.fxml").toURL();
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		URL measurement2DURL = null;
		try {
			measurement2DURL = URI.create("file:///C:/Dev/RainbowFirm/RainbowSoft/rainbowPackage/3Dfxml/View2DMeasurement.fxml").toURL();
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		URL browser2DURL = null;
		try {
			browser2DURL = URI.create("file:///C:/Dev/RainbowFirm/RainbowSoft/rainbowPackage/3Dfxml/View2DBrowser.fxml").toURL();
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//FXMLLoader interfaceLoader = new FXMLLoader(interface2DURL);
		FXMLLoader basisLoader = new FXMLLoader(basis2DURL);
		FXMLLoader backgroundLoader = new FXMLLoader(background2DURL);
		FXMLLoader measurementLoader[] = { new FXMLLoader(measurement2DURL), new FXMLLoader(measurement2DURL) };
		FXMLLoader browserLoader = new FXMLLoader(browser2DURL);
		//System.out.println("zeroLoader URL: " + zeroLoader.getLocation());
		//if (zeroLoader == null) {
		//	throw new RuntimeException("Could not find " + zeroLoader.toString()); }
		//Parent zeroRoot = zeroLoader.load();
		//System.out.println("zeroRoot: " + zeroRoot);

		tertiaryRoot = TertiaryRoot;
		measurementRoot = new Parent[2];
		/*try {
			interfaceRoot = interfaceLoader.load();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}// */
		try {
			basisRoot = basisLoader.load();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} try {
			backgroundRoot = backgroundLoader.load();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} try {
			measurementRoot[0] = measurementLoader[0].load();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} try {
			measurementRoot[1] = measurementLoader[1].load();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} try {
			browserRoot = browserLoader.load();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		//numberOfScrollFrames = NumberOfScrollFrames;

		//diagnostics = new Diagnostics();

		sliderInterval = videoSequenceLoopQuantity / videoFrameQuantity;
		//thirdScene = new Scene[(int)(videoFrameQuantity * ( videoSequenceLoopQuantity - startingPoint ) / videoSequenceLoopQuantity + 1 )];
		//if ( videoFrameQuantity >= 6 )
		//	try { tertiaryVideoOut = NIOUtils.writableFileChannel( thirdFile.getPath() ); }
		//catch (IOException e) {}
		basisImageViewIndex = BasisImageViewIndex;
		completeRainbowFirmSystemDemoVideo = false;//Make False For RainbowSoft Efficiency When Needed.
		if ( completeRainbowFirmSystemDemoVideo )
		{
			buddhism = new Buddhism();
			magiElite = new MagiElite();
			fwaSplashLogo = new FwaSplashLogo();
			fwaFlagSplashLogo = new FwaFlagSplashLogo();
			rainbowPostPattern2D = new RainbowPostPattern2D();
			diagnostics = new Diagnostics();
			rainbowPattern2D = new RainbowPattern2D( new double[]{0,0,0,1} );
			globalSelector = new GlobalSelector();
			fwaFlagLogo = new FwaFlagLogo();
		}
		else switch (basisImageViewIndex)
		{
		case 0: buddhism = new Buddhism(); break;
		case 1: magiElite = new MagiElite(); break;
		case 2: fwaSplashLogo = new FwaSplashLogo(); break;
		case 3: fwaFlagSplashLogo = new FwaFlagSplashLogo(); break;
		case 4: rainbowPostPattern2D = new RainbowPostPattern2D(); break;
		case 5: diagnostics = new Diagnostics(); break;
		case 6:	case 7:	case 8:	case 9:	case 10: rainbowPostPattern2D = new RainbowPostPattern2D(); break;
		case 11: rainbowPattern2D = new RainbowPattern2D( new double[]{0,0,0,1} ); break;
		case 12: case 13: rainbowPostPattern2D = new RainbowPostPattern2D(); break;
		case 14: case 15: case 16: case 17: case 18: case 19: diagnostics = new Diagnostics(); break;
		case 20: globalSelector = new GlobalSelector(); break;
		case 21: rainbowPostPattern2D = new RainbowPostPattern2D(); break;
		case 22: diagnostics = new Diagnostics(); break;
		case 23: rainbowPostPattern2D = new RainbowPostPattern2D(); break;
		case 24: fwaFlagLogo = new FwaFlagLogo(); break;
		case 25: rainbowPostPattern2D = new RainbowPostPattern2D(); break;
		case 26: diagnostics = new Diagnostics(); break;
		case 27: rainbowPostPattern2D = new RainbowPostPattern2D(); break;
		case 28: case 29: case 30: case 31: case 32: case 33: diagnostics = new Diagnostics(); break;
		case 34: battleInterface = new BattleInterface(); break;
		case 35: buddhism = new Buddhism();	magiElite = new MagiElite(); fwaSplashLogo = new FwaSplashLogo(); fwaFlagSplashLogo = new FwaFlagSplashLogo(); rainbowPostPattern2D = new RainbowPostPattern2D(); diagnostics = new Diagnostics(); rainbowPattern2D = new RainbowPattern2D( new double[]{0,0,0,1} ); globalSelector = new GlobalSelector(); fwaFlagLogo = new FwaFlagLogo(); break;
		}// */
	}

	public BufferedImage videoRunner () throws FileNotFoundException
	{
		System.out.println("RainbowVideo.java Initialized All Eclipse .java Based Systems & Controls Already Inputed From This Classes Java Code That You Have To Run Eclipse To Even Look Into. Wait For Rainbows To Be Produced In C:/RainbowFirm/ Directory By This Free Rainbow Software. Make Sure Your Hard Drive Isn't Too Full Do Not Run This Software Unless Your Drive Is <80% Full!!!" );
		//boolean donePixelWriting = false;
		//BufferedImage bufferedImage = new BufferedImage( (int)tertiaryStage.getWidth(), (int)tertiaryStage.getHeight(), BufferedImage.TYPE_INT_ARGB );
		//BufferedImage bufferedImage = new BufferedImage( (int)thirdScreen.getBounds().getWidth(), (int)thirdScreen.getBounds().getHeight(), BufferedImage.TYPE_INT_ARGB );
		Dimension2D Dim = new Dimension2D(tertiaryBackUpWorkAroundImage.getWidth(), tertiaryBackUpWorkAroundImage.getHeight());
		Dimension2D HalfedDim = new Dimension2D( Math.round( Dim.getWidth() / 2 ), Math.round( Dim.getHeight() / 2 ) );
		BufferedImage bufferedImage = new BufferedImage( (int)Dim.getWidth(), (int)Dim.getHeight(), BufferedImage.TYPE_INT_ARGB );
		//BufferedImage bufferedImage = new BufferedImage( (int)thirdScreen.getBounds().getWidth(), (int)thirdScreen.getBounds().getHeight(), BufferedImage.TYPE_INT_ARGB );
		if ( videoFrameQuantity >= 6 )
		{
			try { thirdEncoder = new AWTSequenceEncoder(tertiaryVideoOut, Rational.R(framesPerSecond, 1));}
			catch(IOException ie) { ie.printStackTrace(); }
	///		try { if ( framesPerSecond == 25 ) encoder = AWTSequenceEncoder.create25Fps( thirdFile ); else if ( framesPerSecond == 30 ) encoder = AWTSequenceEncoder.create30Fps( thirdFile ); else encoder = AWTSequenceEncoder.createSequenceEncoder(thirdFile, framesPerSecond); }
	///		catch(IOException ie) { ie.printStackTrace(); }
		}
		/*try { Thread.sleep((long)threadThrottle*500);//tertiaryThread.sleep((long)threadThrottle*5000);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// */
		tertiaryStage.initStyle(StageStyle.TRANSPARENT);
		tertiaryStage.setFullScreen(tertiaryIsFullScreened);
		try { Thread.sleep(2248);//tertiaryThread.sleep(300);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// */
		//thirdBrowser.setPrefSize( tertiaryStage.getWidth(), tertiaryStage.getHeight() );
		tertiaryStage.show();
		try { Thread.sleep(3400);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// */
		//tertiaryStage.setMinWidth(thirdScreen.getBounds().getWidth());
		//tertiaryStage.setMinHeight(thirdScreen.getBounds().getHeight());
		System.out.println("Worked Till After Full Screen Enforcement");
		try { Thread.sleep(1200);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// */
		Platform.runLater( () -> { try { Thread.sleep((long)29999);//tertiaryThread.sleep((long)threadThrottle*2489);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		} } ) ;// */
		//Dimension2D Dim = new Dimension2D( tertiaryStage.getWidth(),  tertiaryStage.getHeight() );// -48 ); // - 40. -40
		//Dimension2D HalfedDim = new Dimension2D( Math.round( tertiaryStage.getWidth() / 2 ), Math.round( tertiaryStage.getHeight() / 2 ) );
		//Dimension2D Dim = new Dimension2D( tertiaryStage.getWidth(),  tertiaryStage.getHeight() );
		//Dimension2D HalfedDim = new Dimension2D( Math.round( tertiaryStage.getWidth() / 2 ), Math.round( tertiaryStage.getHeight() / 2 ) );
		//Dimension Dim = new Dimension ( (int)thirdScreen.getBounds().getWidth(), (int)thirdScreen.getBounds().getHeight() );// -48 ); // - 40. -40
		//Dimension HalfedDim = new Dimension ( (int)Math.round( (thirdScreen.getBounds().getWidth() / 2) ), (int)Math.round( (thirdScreen.getBounds().getHeight() / 2) ) );
		//Dimension Dim = new Dimension ( (int)( 2 * thirdScreen.getBounds().getWidth()), (int)( 2 * thirdScreen.getBounds().getHeight()) );// -48 ); // - 40. -40
		//Dimension HalfedDim = new Dimension ( (int)Math.round( 2 * thirdScreen.getBounds().getWidth() / 2), (int)Math.round(  2 * thirdScreen.getBounds().getHeight() / 2) );
		double halfScreenDiagionalLength = Math.pow(Math.pow( HalfedDim.getWidth(), 2) + Math.pow( HalfedDim.getHeight(), 2), 0.5);
		//System.out.println("halfScreenDiagionalLength: " + halfScreenDiagionalLength);
		double xScaleFactor = 1;
		double yScaleFactor = 1;
		tertiaryXslider = startingPoint;
		double threadThrottle = Dim.getWidth() / 4000;
		//final FFmpegLogCallback ffMpegLogCallback;
		//ffMpegLogCallback = new FFmpegLogCallback();
		//ffMpegLogCallback.set();
		//if ( videoFrameQuantity >= 6 )
		//{
		//OpenCVFrameConverter.ToIplImage bufferedImageConverter = new OpenCVFrameConverter.ToIplImage();
		//JavaFXFrameConverter fxFrameConverter = new JavaFXFrameConverter();
		// = paintConverter.convert(bufferedImage);
		// 2. Now you can use the 'frame' object with OpenCVFrameConverter.ToIplImage
		//OpenCVFrameConverter.ToIplImage grabberConverter = new OpenCVFrameConverter.ToIplImage();
		//org.bytedeco.opencv_core.IplImage iplImage = grabberConverter.convert(frame);
		//IplImage iplImage = grabberConverter.convert(frame);
		//IplImage iplImage = bufferedImageConverter.convert(bufferedImage);//new BufferedImage((int)Dim.getWidth(), Dim.getHeight(), 2));
		// Frame frame = bufferedImageConverter.convert(iplImage);
		/*FFmpegLogCallback.set();
		Java2DFrameConverter java2DFrameConverter;
		Frame frame;
		java2DFrameConverter = new Java2DFrameConverter();
		try {
			thirdRecorder.start();
		} catch (org.bytedeco.javacv.FFmpegFrameRecorder.Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}// */
		//}

		//int frameIndex = Math.abs( (int)Math.round( videoFrameQuantity ) );
		//ImageView tertiaryImageView = new ImageView();
		//Getting 3D Viewing To Work
		//int basisImageViewIndex = 0;// 0 -> 4 Only -1 For 1&only1 Commented Code Above// 0: Buddhism; 1: MagiElite; 2: FwaSplashLogo; 3: FwaFlagSplashLogo; 4: RainbowClock;
		SnapshotParameters snapshotParameters = new SnapshotParameters();
		snapshotParameters.setViewport( new Rectangle2D( - HalfedDim.getWidth(), - HalfedDim.getHeight(), HalfedDim.getWidth(), HalfedDim.getHeight()) );//new Rectangle2D( - HalfedDim.getWidth(), - HalfedDim.getHeight(), HalfedDim.getWidth(), HalfedDim.getHeight()) new Rectangle2D( 0, 0, Dim.getWidth(), Dim.getHeight() ) new Rectangle2D( - Dim.getWidth(), - Dim.getHeight(), 0, 0 ) //thirdScreen.getBounds()
		System.out.println("ViewPort Set");
		int interimBasisImageViewIndex = basisImageViewIndex;
		if ( basisImageViewIndex < 0 )
			interimBasisImageViewIndex = 0;
		else if ( basisImageViewIndex <= 3 )
		{
			xScaleFactor = Dim.getWidth() / tertiaryBackgroundBasisImageWidth;
			yScaleFactor = Dim.getHeight() / tertiaryBackgroundBasisImageHeight;
		}
		else if ( basisImageViewIndex > 3 && !( basisImageViewIndex == 14 || basisImageViewIndex == 19 || basisImageViewIndex == 20 || basisImageViewIndex > 28 ) )
			interimBasisImageViewIndex = 3;
		else// if ( basisImageViewIndex == 14 )
			interimBasisImageViewIndex = 0;
		/*int interimBasisImageViewIndex = 0;
		boolean basisImageViewIndexIsNegitive = false;
		if ( basisImageViewIndex <= 0 )
		{	basisImageViewIndex = 0; basisImageViewIndexIsNegitive = true; }
		else if ( basisImageViewIndex > 3 )
		{	interimBasisImageViewIndex = basisImageViewIndex; basisImageViewIndex = 3; }// */
		/*if ( basisImageViewIndex >= 0 && basisImageViewIndex <= 3 )
			tertiaryWritableImage = tertiaryBasisImageView[interimBasisImageViewIndex].snapshot(snapshotParameters, tertiaryBufferPictureForWritableImage);
		else
			//tertiaryWritableImage = tertiaryCurrentBrowserImageView.snapshot(snapshotParameters, tertiaryBufferPictureForWritableImage);
			tertiaryWritableImage = tertiaryBackUpWorkAroundImageView.snapshot(snapshotParameters, tertiaryBufferPictureForWritableImage);//*/
		//tertiaryBufferPictureForWritableImage = tertiaryWritableImage;
		//frameIndex = 0;
		WritableImage writableImage = tertiaryWritableImage;
		ImageView tertiaryImageView = new ImageView(), displayImageView = new ImageView();
		tertiaryImageView.setImage(writableImage);
		StackPane thirdStackPaneForWriting = new StackPane(), displayStackPaneForViewing = new StackPane(), backGroundStackPane = new StackPane();//, thirdStackPaneForPW = new StackPane();
		thirdStackPaneForWriting.getChildren().add(tertiaryImageView);
		displayStackPaneForViewing.getChildren().add(displayImageView);
		backGroundStackPane.getChildren().add(tertiaryImageView);
		//thirdStackPaneForPW.getChildren().add(tertiaryImageView);
		tertiaryPW = writableImage.getPixelWriter();
		//int xEarly = 0;//, yEarly = 0;
		thirdScene.setRoot(tertiaryRoot);
		tertiaryStage.setFullScreen(tertiaryIsFullScreened);
		tertiaryStage.sizeToScene();
		try { Thread.sleep((long)threadThrottle*500);//tertiaryThread.sleep((long)threadThrottle*3000);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// */
		FileInputStream displayInputForScreenShot;
		Image displayFitImage;
		thirdStackPaneForBrowser.getChildren().addAll( /*tertiaryBasisImageView[interimBasisImageViewIndex], tertiaryBackgroundBasisImageView[interimBasisImageViewIndex],*/ tertiaryBackUpWorkAroundImageView );
		sceneForBrowser = new Scene(browserRoot);
		sceneForBackground = new Scene(backgroundRoot);
		sceneForBasis = new Scene(basisRoot);
		//sceneForMeasurement = new Scene[2];
		//sceneForMeasurement[0] = new Scene(measurementRoot[0]);
		//sceneForMeasurement[1] = new Scene(measurementRoot[1]);
		sceneForBrowser = thirdStackPaneForBrowser.getScene();
		thirdScene = new Scene(thirdStackPaneForWriting);
		boolean stillNeedsToProcessBasisAndBackGround = false;
		if ( ( basisImageViewIndex >= 0 && basisImageViewIndex <= 3 ) || basisImageViewIndex == 14 || basisImageViewIndex == 19 || basisImageViewIndex == 20 || basisImageViewIndex == 24 || basisImageViewIndex > 28 )
			stillNeedsToProcessBasisAndBackGround = true;
		try { Thread.sleep((long)threadThrottle*3888);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// #/
		/*tertiaryStage.show();
		try { Thread.sleep((long)threadThrottle*4600);//tertiaryThread.sleep((long)threadThrottle*3000);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// */
		//thirdStackPaneForMeasurement[0].getChildren().addAll( tertiaryMeasurementBasisImageView[0] );//For Measurement
		//thirdStackPaneForMeasurement[1].getChildren().addAll( tertiaryMeasurementBasisImageView[1] );//For Measurement
		//sceneForMeasurement[0] = thirdStackPaneForMeasurement[0].getScene();//For Measurement
		//sceneForMeasurement[1] = thirdStackPaneForMeasurement[1].getScene();//For Measurement
		boolean useAlternateBasis = false;


		Color[][] colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolors, vibrantColorCombos.RainbowFXcolorsReverse, vibrantColorCombos.RainbowFXcolorsReverseNoPink }; useAlternateBasis = true; String colorSetLabel = "NormalRaibowPink";
		System.out.println("Got To stillNeedsToProcessBasisAndBackGround while Is.");
		while ( stillNeedsToProcessBasisAndBackGround )
		{
			//if ( interimBasisImageViewIndex == 3 && useAlternateBasis )
			//	interimBasisImageViewIndex = 4;
			try { Thread.sleep((long)threadThrottle*750);//tertiaryThread.sleep((long)threadThrottle*3000);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// */
			Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*4999);//tertiaryThread.sleep((long)threadThrottle*2489);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			} } ) ;// */

			thirdStackPaneForBackground.getChildren().addAll( /*tertiaryCurrentBrowserImageView, tertiaryBackUpWorkAroundImageView, tertiaryBasisImageView[interimBasisImageViewIndex],*/ tertiaryBackgroundBasisImageView[interimBasisImageViewIndex] );//, tertiaryBasisImageView[1], tertiaryBackgroundBasisImageView[1], tertiaryBasisImageView[2], tertiaryBackgroundBasisImageView[2], tertiaryBasisImageView[3], tertiaryBackgroundBasisImageView[3] );//, tertiaryImageView /*tertiaryCurrentTransitionBrowserImageView,*/);
			thirdStackPaneForBasis.getChildren().addAll( /*tertiaryCurrentBrowserImageView, tertiaryBackUpWorkAroundImageView, tertiaryBackgroundBasisImageView[interimBasisImageViewIndex],*/ tertiaryBasisImageView[interimBasisImageViewIndex] );//, tertiaryBackgroundBasisImageView[1], tertiaryBasisImageView[1], tertiaryBackgroundBasisImageView[2], tertiaryBasisImageView[2], tertiaryBackgroundBasisImageView[3], tertiaryBasisImageView[3] );//, /*tertiaryBackgroundBasisImageView,*/ tertiaryImageView /*tertiaryCurrentTransitionBrowserImageView,*/);//, tertiaryBasisImageView, tertiaryImageView );//, tertiaryImageView[0] );
			sceneForBackground = thirdStackPaneForBackground.getScene();
			sceneForBasis = thirdStackPaneForBasis.getScene();

			tertiaryStage.setScene( sceneForBackground );
			tertiaryStage.show();
			try { Thread.sleep((long)threadThrottle*650);//tertiaryThread.sleep((long)threadThrottle*3000);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// */
			//writableImage = (WritableImage) tertiaryBackgroundBasisImageView[interimBasisImageViewIndex].getImage();
			writableImage = (WritableImage) thirdStackPaneForBackground.getChildren().get(0).getParent().snapshot(snapshotParameters, writableImage);
			try { Thread.sleep((long)threadThrottle*500);//tertiaryThread.sleep((long)threadThrottle*3000);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// #/
			thirdScene.snapshot( writableImage );
			try { Thread.sleep((long)threadThrottle*879);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// #/
			tertiaryImageView.setImage(writableImage);
			try { Thread.sleep((long)threadThrottle*879);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// #/
			try { Thread.sleep((long)threadThrottle*1879);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// #/
			tertiaryStage.close();
			try { Thread.sleep((long)threadThrottle*888);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// #/
			tertiaryStage = new Stage();
			tertiaryStage.initStyle(StageStyle.TRANSPARENT);
			//tertiaryStage.setResizable(false);
			try { Thread.sleep((long)threadThrottle*747);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// #/
			Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*2999);//tertiaryThread.sleep((long)threadThrottle*2489);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			} } ) ;// */
			tertiaryStage.setScene(thirdStackPaneForWriting.getScene());
			tertiaryStage.sizeToScene();
			tertiaryStage.setResizable(false);
			try { Thread.sleep((long)threadThrottle*777);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// #/
			writableImage = (WritableImage) tertiaryImageView.getImage();
			//for ( int i = 0; i < tertiaryBackgroundBasisImage.length; i++ )
			//{
			tertiaryBackgroundBasisImagePR[interimBasisImageViewIndex] = tertiaryBackgroundBasisImage[interimBasisImageViewIndex].getPixelReader();
			//}
			try { Thread.sleep((long)threadThrottle*450);//tertiaryThread.sleep((long)threadThrottle*3000);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// */
			//writableImage = (WritableImage) tertiaryBackgroundBasisImageView[interimBasisImageViewIndex].getImage();
			bufferedImage = SwingFXUtils.fromFXImage(thirdScene.snapshot( writableImage ), new BufferedImage( (int)Dim.getWidth(), (int)Dim.getHeight(), BufferedImage.TYPE_INT_ARGB) );

			try {
				File outputFile = new File("C:/RainbowFirm/BackgroundBasis-" + interimBasisImageViewIndex + ".png");
				ImageIO.write(bufferedImage, "png", outputFile);
			} catch (IOException e) {
				throw new RuntimeException(e);
			}
			//Above Getting 3D Viewing To Work 
			try { Thread.sleep((long)threadThrottle*212);//tertiaryThread.sleep((long)threadThrottle*1000);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// */
			tertiaryStage.setScene( sceneForBasis );
			tertiaryStage.show();
			try { Thread.sleep((long)threadThrottle*850);//tertiaryThread.sleep((long)threadThrottle*3000);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// */
			Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*4999);//tertiaryThread.sleep((long)threadThrottle*2489);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			} } ) ;// #/
			//writableImage = (WritableImage) tertiaryBasisImageView[interimBasisImageViewIndex].getImage();
			writableImage = (WritableImage) thirdStackPaneForBasis.getChildren().get(0).getParent().snapshot(snapshotParameters, writableImage);
			try { Thread.sleep((long)threadThrottle*500);//tertiaryThread.sleep((long)threadThrottle*3000);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// #/
			thirdScene.snapshot( writableImage );
			try { Thread.sleep((long)threadThrottle*879);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// #/
			tertiaryImageView.setImage(writableImage);
			try { Thread.sleep((long)threadThrottle*879);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// #/
			tertiaryStage.close();
			try { Thread.sleep((long)threadThrottle*888);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// #/
			tertiaryStage = new Stage();
			//tertiaryStage.setFullScreen(tertiaryIsFullScreened);
			tertiaryStage.setResizable(false);
			try { Thread.sleep((long)threadThrottle*747);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// #/
			Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*2999);//tertiaryThread.sleep((long)threadThrottle*2489);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			} } ) ;// */
			tertiaryStage.setScene(thirdStackPaneForWriting.getScene());
			tertiaryStage.sizeToScene();
			try { Thread.sleep((long)threadThrottle*77);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// #/
			Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*4999);//tertiaryThread.sleep((long)threadThrottle*2489);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			} } ) ;// */
			writableImage = (WritableImage) tertiaryImageView.getImage();
			tertiaryBasisImagePR[interimBasisImageViewIndex] = tertiaryBasisImage[interimBasisImageViewIndex].getPixelReader();
			//}
			try { Thread.sleep((long)threadThrottle*450);//tertiaryThread.sleep((long)threadThrottle*3000);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// */
			//writableImage = (WritableImage) tertiaryBasisImageView[interimBasisImageViewIndex].getImage();
			//bufferedImage = new BufferedImage( (int)Dim.getWidth(), (int)Dim.getHeight(), BufferedImage.TYPE_INT_ARGB);
			bufferedImage = SwingFXUtils.fromFXImage(thirdScene.snapshot( writableImage ), new BufferedImage( (int)Dim.getWidth(), (int)Dim.getHeight(), BufferedImage.TYPE_INT_ARGB) );
			try {
				File outputFile = new File("C:/RainbowFirm/Basis-" + interimBasisImageViewIndex + ".png");
				ImageIO.write(bufferedImage, "png", outputFile);
			} catch (IOException e) {
				throw new RuntimeException(e);
			}
			//tertiaryStage.close();
			try { Thread.sleep((long)threadThrottle*989);
			} catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}// #/
			/*boolean measurementDone = true;
			System.out.println("Got To measurementDone if Is.");
			if ( !measurementDone && ( ( ( basisImageViewIndex >= 2 && basisImageViewIndex <= 3) || basisImageViewIndex == 14 || basisImageViewIndex == 24 ) ) )
			{
				//System.out.println("tertiaryMeasurementBasisImage.length " + tertiaryMeasurementBasisImage.length);
				for ( int measurmentIndex = 0; measurmentIndex < tertiaryMeasurementBasisImage.length; measurmentIndex++ )
				{
					try { Thread.sleep((long)threadThrottle*750);//tertiaryThread.sleep((long)threadThrottle*3000);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// #/
					Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*4999);//tertiaryThread.sleep((long)threadThrottle*2489);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					} } ) ;// #/			
					tertiaryStage.setScene( sceneForMeasurement[measurmentIndex] );
					try { Thread.sleep((long)threadThrottle*650);//tertiaryThread.sleep((long)threadThrottle*3000);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// #/
					//writableImage = (WritableImage) tertiaryBackgroundBasisImageView[interimBasisImageViewIndex].getImage();
					writableImage = (WritableImage) thirdStackPaneForMeasurement[measurmentIndex].getChildren().get(0).getParent().snapshot(snapshotParameters, writableImage);
					try { Thread.sleep((long)threadThrottle*500);//tertiaryThread.sleep((long)threadThrottle*3000);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// #/
					thirdScene.snapshot( writableImage );
					try { Thread.sleep((long)threadThrottle*879);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// #/
					tertiaryImageView.setImage(writableImage);
					try { Thread.sleep((long)threadThrottle*879);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// #/
					try { Thread.sleep((long)threadThrottle*1879);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// #/
					tertiaryStage.close();
					try { Thread.sleep((long)threadThrottle*888);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// #/
					tertiaryStage = new Stage();
					tertiaryStage.setResizable(false);
					try { Thread.sleep((long)threadThrottle*747);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// #/
					Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*2999);//tertiaryThread.sleep((long)threadThrottle*2489);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					} } ) ;// #/
					tertiaryStage.setScene(thirdStackPaneForWriting.getScene());
					tertiaryStage.sizeToScene();
					try { Thread.sleep((long)threadThrottle*777);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// #/
					writableImage = (WritableImage) tertiaryImageView.getImage();
					//for ( int i = 0; i < tertiaryBackgroundBasisImage.length; i++ )
					//{
					tertiaryMeasurementBasisImagePR[measurmentIndex] = tertiaryMeasurementBasisImage[measurmentIndex].getPixelReader();
					//}
					try { Thread.sleep((long)threadThrottle*450);//tertiaryThread.sleep((long)threadThrottle*3000);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// #/
					//writableImage = (WritableImage) tertiaryBackgroundBasisImageView[interimBasisImageViewIndex].getImage();
					bufferedImage = SwingFXUtils.fromFXImage(thirdScene.snapshot( writableImage ), new BufferedImage( (int)Dim.getWidth(), (int)Dim.getHeight(), BufferedImage.TYPE_INT_ARGB) );

					try {
						File outputFile = new File("C:/RainbowFirm/BasisForMeasurement-" + measurmentIndex + ".png");
						ImageIO.write(bufferedImage, "png", outputFile);
					} catch (IOException e) {
						throw new RuntimeException(e);
					}
					try { Thread.sleep((long)threadThrottle*989);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// #/
					thirdStackPaneForMeasurement[measurmentIndex] = new StackPane();
				}
				measurementDone = true;
			}
			System.out.println("Got Past measurementDone if.");// */
			//if ( basisImageViewIndex != 14 || interimBasisImageViewIndex >= 3 )
			if ( ( interimBasisImageViewIndex == basisImageViewIndex && basisImageViewIndex != 3 ) || interimBasisImageViewIndex >= 4 )
				stillNeedsToProcessBasisAndBackGround = false;
			else
			{
				thirdStackPaneForBackground = new StackPane();
				thirdStackPaneForBasis = new StackPane();
				interimBasisImageViewIndex++;
			}
		}
		System.out.println("Finished With stillNeedsToProcessBasisAndBackGround while.");

		//Above Getting 3D Viewing To Work
		try { Thread.sleep((long)threadThrottle*1762);//tertiaryThread.sleep((long)threadThrottle*3000);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// #/
		tertiaryStage.setScene( sceneForBrowser );
		tertiaryStage.show();
		try { Thread.sleep((long)threadThrottle*2879);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// #/
		tertiaryStage.close();
		try { Thread.sleep((long)threadThrottle*888);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// #/
		tertiaryStage = new Stage();
		tertiaryStage.setResizable(false);
		try { Thread.sleep((long)threadThrottle*747);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// #/
		Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*2999);//tertiaryThread.sleep((long)threadThrottle*2489);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		} } ) ;// */
		tertiaryStage.setScene(thirdStackPaneForWriting.getScene());
		tertiaryStage.sizeToScene();
		try { Thread.sleep((long)threadThrottle*444);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// #/
		try { Thread.sleep((long)threadThrottle*2500);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// */
		Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*4999);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		} } ) ;// */
		writableImage = (WritableImage) thirdStackPaneForBrowser.getChildren().get(0).getParent().snapshot(snapshotParameters, writableImage);
		try { Thread.sleep((long)threadThrottle*879);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// #/
		tertiaryImageView.setImage(writableImage);
		try { Thread.sleep((long)threadThrottle*879);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// #/
		tertiaryStage.setScene(thirdStackPaneForWriting.getScene());
		try { Thread.sleep((long)threadThrottle*888);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// #/
		try { Thread.sleep((long)threadThrottle*500);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// */
		writableImage = (WritableImage) tertiaryImageView.getImage();
		//tertiaryCurrentBrowserImagePR = tertiaryBackUpWorkAroundImage.getPixelReader();
		try { Thread.sleep((long)threadThrottle*450);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// #/
		//writableImage = (WritableImage) tertiaryBasisImageView[interimBasisImageViewIndex].getImage();
		bufferedImage = SwingFXUtils.fromFXImage(thirdScene.snapshot( writableImage ), new BufferedImage( (int)Dim.getWidth(), (int)Dim.getHeight(), BufferedImage.TYPE_INT_ARGB) );

		try {// Use /* To Use Your Own Custom Picture For Browser {Required To Be Fitted} [Definitely Has To Be Same Exact File Path] (Don't Abuse The Rainbow, Hypnosis Can Become Espionage)
			File outputFile = new File("C:/RainbowFirm/BackUpWorkAroundImage-1.png");
			ImageIO.write(bufferedImage, "png", outputFile);
		} catch (IOException e) {
			throw new RuntimeException(e);
		}// */
		//tertiaryBackUpWorkAroundImageView.setFitWidth(Dim.getWidth());
		//tertiaryBackUpWorkAroundImageView.setFitHeight(Dim.getHeight());
		try { Thread.sleep((long)threadThrottle*282);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}
		//Above Getting 3D Viewing To Work
		tertiaryStage.close();
		try { Thread.sleep((long)threadThrottle*888);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// #/
		if ( tertiaryRainbowStruct != null && basisImageViewIndex >= 1000 )
			return bufferedImage;
		Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*3999);//tertiaryThread.sleep((long)threadThrottle*2489);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		} } ) ;// */
		tertiaryStage = new Stage();
		tertiaryStage.setFullScreen(tertiaryIsFullScreened);
		//tertiaryStage.setHeight( Dim.getHeight() );
		//tertiaryStage.setWidth( Dim.getWidth() );
		tertiaryStage.setResizable(false);
		try { Thread.sleep((long)threadThrottle*888);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// #/
		Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*7999);//tertiaryThread.sleep((long)threadThrottle*2489);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		} } ) ;// */
		FileInputStream finalInputForScreenShot[];// = new FileInputStream[3];
		Image finalFitImageArray[];// = new Image[3];
		//StackPane finalStackPane = new StackPane();
		//ImageView finalImageView[];// = { new ImageView(), new ImageView(), new ImageView() };
		PixelReader finalBackgroundBasisImagePR[], finalBasisImagePR[], finalBackgroundBasisCorrectedImagePR, finalBasisCorrectedImagePR, finalCurrentBrowserImagePR;//, finalMeasurementBasisImagePR[];
		int indexOfPRforSplash = 0;
		System.out.println("Got To final Image Input.");
		if ( !completeRainbowFirmSystemDemoVideo && ( basisImageViewIndex >= 0 && basisImageViewIndex <= 1 ) )
		{
			finalFitImageArray = new Image[3];
			finalInputForScreenShot = new FileInputStream[3];
			finalBasisImagePR = new PixelReader[1];
			finalBackgroundBasisImagePR = new PixelReader[1];
			finalInputForScreenShot[0] = new FileInputStream("C:\\\\RainbowFirm\\BackgroundBasis-" + basisImageViewIndex + ".png");
			finalInputForScreenShot[1] = new FileInputStream("C:\\\\RainbowFirm\\Basis-" + basisImageViewIndex + ".png");
			finalInputForScreenShot[2] = new FileInputStream("C:\\\\RainbowFirm\\BackUpWorkAroundImage-1.png");
			finalFitImageArray[0] = new Image(finalInputForScreenShot[0]);
			finalFitImageArray[1] = new Image(finalInputForScreenShot[1]);
			finalFitImageArray[2] = new Image(finalInputForScreenShot[2]);
			/*finalImageView = new ImageView[3];
			finalImageView[0] = new ImageView(); finalImageView[1] = new ImageView(); finalImageView[2] = new ImageView();
			finalImageView[0].setImage(finalFitImageArray[0]);
			finalImageView[1].setImage(finalFitImageArray[1]);
			finalImageView[2].setImage(finalFitImageArray[2]);
			finalStackPane.getChildren().addAll( finalImageView[0], finalImageView[1], finalImageView[2] );// */
			
			/*CorrectiveFitImageArray.BrowserImage = finalFitImageArray[2];
			if ( basisImageViewIndex == 0 )
				CorrectiveFitImageArray.BuddhismBasis = finalFitImageArray[1];
			else
			{
				//CorrectiveFitImageArray.MagiEliteBasis = finalFitImageArray[1];
				//CorrectiveFitImageArray.MagiEliteBackgroundBasis = finalFitImageArray[0];
			}// */
			finalBackgroundBasisImagePR[0] = finalFitImageArray[0].getPixelReader();
			finalBasisImagePR[0] = finalFitImageArray[1].getPixelReader();
			finalCurrentBrowserImagePR = finalFitImageArray[2].getPixelReader();
			/*synchronized (lock) { finalBackgroundBasisImagePR[0] = finalFitImageArray[0].getPixelReader();
			synchronized (lock) { finalBasisImagePR[0] = finalFitImageArray[1].getPixelReader();
			synchronized (lock) { finalCurrentBrowserImagePR = finalFitImageArray[2].getPixelReader();// */
		}
		else if ( !completeRainbowFirmSystemDemoVideo && ( ( basisImageViewIndex >= 2 && basisImageViewIndex <= 3 ) || basisImageViewIndex == 24 ) )
		{
			//finalMeasurementBasisImagePR = new PixelReader[2];
			if ( basisImageViewIndex >= 2 && basisImageViewIndex < 3 )
			{
				finalFitImageArray = new Image[3];//5 For Measurement 3 Without
				finalInputForScreenShot = new FileInputStream[3];//5 For Measurement 3 Without
				finalBasisImagePR = new PixelReader[1];
				finalBackgroundBasisImagePR = new PixelReader[1];
				finalInputForScreenShot[0] = new FileInputStream("C:\\\\RainbowFirm\\BackgroundBasis-" + basisImageViewIndex + ".png");
				finalInputForScreenShot[1] = new FileInputStream("C:\\\\RainbowFirm\\Basis-" + basisImageViewIndex + ".png");
				finalInputForScreenShot[2] = new FileInputStream("C:\\\\RainbowFirm\\BackUpWorkAroundImage-1.png");
				finalFitImageArray[0] = new Image(finalInputForScreenShot[0]);
				finalFitImageArray[1] = new Image(finalInputForScreenShot[1]);
				finalFitImageArray[2] = new Image(finalInputForScreenShot[2]);
				/*finalImageView = new ImageView[3];//5 For Measurement 3 Without
				finalImageView[0] = new ImageView(); finalImageView[1] = new ImageView(); finalImageView[2] = new ImageView();// finalImageView[3] = new ImageView(); finalImageView[4] = new ImageView();
				finalImageView[0].setImage(finalFitImageArray[0]);
				finalImageView[1].setImage(finalFitImageArray[1]);
				finalImageView[2].setImage(finalFitImageArray[2]);
				finalStackPane.getChildren().addAll( finalImageView[0], finalImageView[1], finalImageView[2] );//, finalImageView[3], finalImageView[4] ); */
				
				finalBackgroundBasisImagePR[0] = finalFitImageArray[0].getPixelReader();
				finalBasisImagePR[0] = finalFitImageArray[1].getPixelReader();
				finalCurrentBrowserImagePR = finalFitImageArray[2].getPixelReader();
				//CorrectiveFitImageArray.BrowserImage = finalFitImageArray[2];
				//CorrectiveFitImageArray.FwaSplashBasis = finalFitImageArray[1];
				//CorrectiveFitImageArray.FwaSplashBackgroundBasis = finalFitImageArray[0];
				/*synchronized (lock) { finalBackgroundBasisImagePR[0] = finalFitImageArray[0].getPixelReader(); }
				synchronized (lock) { finalBasisImagePR[0] = finalFitImageArray[1].getPixelReader(); }
				synchronized (lock) { finalCurrentBrowserImagePR = finalFitImageArray[2].getPixelReader(); }// */
			}
			else
			{
				finalFitImageArray = new Image[5];//7 For Measurement 5 Without
				finalInputForScreenShot = new FileInputStream[5];//7 For Measurement 5 Without
				finalBasisImagePR = new PixelReader[2];
				finalBackgroundBasisImagePR = new PixelReader[2];
				finalInputForScreenShot[0] = new FileInputStream("C:\\\\RainbowFirm\\BackgroundBasis-3.png");
				finalInputForScreenShot[1] = new FileInputStream("C:\\\\RainbowFirm\\Basis-3.png");
				finalInputForScreenShot[2] = new FileInputStream("C:\\\\RainbowFirm\\BackgroundBasis-4.png");
				finalInputForScreenShot[3] = new FileInputStream("C:\\\\RainbowFirm\\Basis-4.png");
				finalInputForScreenShot[4] = new FileInputStream("C:\\\\RainbowFirm\\BackUpWorkAroundImage-1.png");
				finalFitImageArray[0] = new Image(finalInputForScreenShot[0]);
				finalFitImageArray[1] = new Image(finalInputForScreenShot[1]);
				finalFitImageArray[2] = new Image(finalInputForScreenShot[2]);
				finalFitImageArray[3] = new Image(finalInputForScreenShot[3]);
				finalFitImageArray[4] = new Image(finalInputForScreenShot[4]);
				/*finalImageView = new ImageView[5];//7 For Measurement 5 Without
				finalImageView[0] = new ImageView(); finalImageView[1] = new ImageView(); finalImageView[2] = new ImageView(); finalImageView[3] = new ImageView(); finalImageView[4] = new ImageView();// finalImageView[3] = new ImageView(); finalImageView[4] = new ImageView();
				finalImageView[0].setImage(finalFitImageArray[0]);
				finalImageView[1].setImage(finalFitImageArray[1]);
				finalImageView[2].setImage(finalFitImageArray[2]);
				finalImageView[3].setImage(finalFitImageArray[3]);
				finalImageView[4].setImage(finalFitImageArray[4]);
				finalStackPane.getChildren().addAll( finalImageView[0], finalImageView[1], finalImageView[2], finalImageView[3], finalImageView[4] );//, finalImageView[3], finalImageView[4] );  */
				
				//CorrectiveFitImageArray.BrowserImage = finalFitImageArray[4];
				
				finalBackgroundBasisImagePR[0] = finalFitImageArray[0].getPixelReader();
				finalBasisImagePR[0] = finalFitImageArray[1].getPixelReader();
				finalBackgroundBasisImagePR[1] = finalFitImageArray[2].getPixelReader();
				finalBasisImagePR[1] = finalFitImageArray[3].getPixelReader();
				finalCurrentBrowserImagePR = finalFitImageArray[4].getPixelReader();
				
				/*synchronized (lock) { finalBackgroundBasisImagePR[0] = finalFitImageArray[0].getPixelReader(); }
				synchronized (lock) { finalBasisImagePR[0] = finalFitImageArray[1].getPixelReader(); }
				synchronized (lock) { finalBackgroundBasisImagePR[1] = finalFitImageArray[2].getPixelReader(); }
				synchronized (lock) { finalBasisImagePR[1] = finalFitImageArray[3].getPixelReader(); }
				synchronized (lock) { finalCurrentBrowserImagePR = finalFitImageArray[4].getPixelReader(); }// */
			}
			//finalInputForScreenShot[3] = new FileInputStream("C:\\\\RainbowFirm\\BasisForMeasurement-0.png");
			///finalInputForScreenShot[4] = new FileInputStream("C:\\\\RainbowFirm\\BasisForMeasurement-1.png");

			///finalFitImageArray[3] = new Image(finalInputForScreenShot[3]);//For Measurement
			//finalFitImageArray[4] = new Image(finalInputForScreenShot[4]);//For Measurement

			//finalImageView[3].setImage(finalFitImageArray[3]);//For Measurement
			//finalImageView[4].setImage(finalFitImageArray[4]);//For Measurement
			/*finalMeasurementBasisImagePR[0] = finalFitImageArray[3].getPixelReader();
			finalMeasurementBasisImagePR[1] = finalFitImageArray[4].getPixelReader();
			if ( basisImageViewIndex >= 2 )
			{
				rainbowOvalFitting[0] = new RainbowOvalFitting();
				rainbowOvalFitting[1] = new RainbowOvalFitting();
				rainbowOvalFitting[2] = new RainbowOvalFitting();
				rainbowOvalFitting[3] = new RainbowOvalFitting();
				rainbowOvalFitting[4] = new RainbowOvalFitting();
				rainbowOvalFitting[0].OvalFitter( vibrantColors.Lime, Dim, finalMeasurementBasisImagePR[0] );
				rainbowOvalFitting[1].OvalFitter( vibrantColors.Maroon, Dim, finalMeasurementBasisImagePR[1] );
				rainbowOvalFitting[2].OvalFitter( vibrantColors.Black, Dim, finalMeasurementBasisImagePR[1] );
				rainbowOvalFitting[3].OvalFitter( vibrantColors.Black, Dim, finalBackgroundBasisImagePR[0] );
				rainbowOvalFitting[4].OvalFitter( vibrantColors.Magenta, Dim, finalBackgroundBasisImagePR[0] );//																																																					+ /#" getRatioAdjustor: " + rainbowOvalFitting[0].getRatioAdjustor() +#/ 
				System.out.println("rainbowOvalFitting[0].getXofCenter(): " + rainbowOvalFitting[0].getXofCenter() + " getYofCenter: " + rainbowOvalFitting[0].getYofCenter() + " getNumberOfRings: " + rainbowOvalFitting[0].getNumberOfRings() + " getWidthToHeightRatio: " + rainbowOvalFitting[0].getWidthToHeightRatio() + " getRingDisplacement: " + rainbowOvalFitting[0].getRingDisplacement() + " x-Left: " + rainbowOvalFitting[0].getXOfLeftOfRing() + " x-RightOfLeft: " + rainbowOvalFitting[0].getXOfRightOfLeftOfRing() + " x-Right: " + rainbowOvalFitting[0].getXOfRightOfRing() + " y-Top: " + rainbowOvalFitting[0].getYOfTopOfRing() + " y-BottomOfTop: " + rainbowOvalFitting[0].getYOfBottomOfTopOfRing() + " y-Bottom: " + rainbowOvalFitting[0].getYOfBottomOfRing() );
				System.out.println("rainbowOvalFitting[1].getXofCenter(): " + rainbowOvalFitting[1].getXofCenter() + " getYofCenter: " + rainbowOvalFitting[1].getYofCenter() + " getNumberOfRings: " + rainbowOvalFitting[1].getNumberOfRings() + " getWidthToHeightRatio: " + rainbowOvalFitting[1].getWidthToHeightRatio() + " getRingDisplacement: " + rainbowOvalFitting[1].getRingDisplacement() + " x-Left: " + rainbowOvalFitting[1].getXOfLeftOfRing() + " x-RightOfLeft: " + rainbowOvalFitting[1].getXOfRightOfLeftOfRing() + " x-Right: " + rainbowOvalFitting[1].getXOfRightOfRing() + " y-Top: " + rainbowOvalFitting[1].getYOfTopOfRing() + " y-BottomOfTop: " + rainbowOvalFitting[1].getYOfBottomOfTopOfRing() + " y-Bottom: " + rainbowOvalFitting[1].getYOfBottomOfRing() );
				System.out.println("rainbowOvalFitting[2].getXofCenter(): " + rainbowOvalFitting[2].getXofCenter() + " getYofCenter: " + rainbowOvalFitting[2].getYofCenter() + " getNumberOfRings: " + rainbowOvalFitting[2].getNumberOfRings() + " getWidthToHeightRatio: " + rainbowOvalFitting[2].getWidthToHeightRatio() + " getRingDisplacement: " + rainbowOvalFitting[2].getRingDisplacement() + " x-Left: " + rainbowOvalFitting[2].getXOfLeftOfRing() + " x-RightOfLeft: " + rainbowOvalFitting[2].getXOfRightOfLeftOfRing() + " x-Right: " + rainbowOvalFitting[2].getXOfRightOfRing() + " y-Top: " + rainbowOvalFitting[2].getYOfTopOfRing() + " y-BottomOfTop: " + rainbowOvalFitting[2].getYOfBottomOfTopOfRing() + " y-Bottom: " + rainbowOvalFitting[2].getYOfBottomOfRing() );
				System.out.println("rainbowOvalFitting[3].getXofCenter(): " + rainbowOvalFitting[3].getXofCenter() + " getYofCenter: " + rainbowOvalFitting[3].getYofCenter() + " getNumberOfRings: " + rainbowOvalFitting[3].getNumberOfRings() + " getWidthToHeightRatio: " + rainbowOvalFitting[3].getWidthToHeightRatio() + " getRingDisplacement: " + rainbowOvalFitting[3].getRingDisplacement() + " x-Left: " + rainbowOvalFitting[3].getXOfLeftOfRing() + " x-RightOfLeft: " + rainbowOvalFitting[3].getXOfRightOfLeftOfRing() + " x-Right: " + rainbowOvalFitting[3].getXOfRightOfRing() + " y-Top: " + rainbowOvalFitting[3].getYOfTopOfRing() + " y-BottomOfTop: " + rainbowOvalFitting[3].getYOfBottomOfTopOfRing() + " y-Bottom: " + rainbowOvalFitting[3].getYOfBottomOfRing() );
				System.out.println("rainbowOvalFitting[4].getXofCenter(): " + rainbowOvalFitting[4].getXofCenter() + " getYofCenter: " + rainbowOvalFitting[4].getYofCenter() + " getNumberOfRings: " + rainbowOvalFitting[4].getNumberOfRings() + " getWidthToHeightRatio: " + rainbowOvalFitting[4].getWidthToHeightRatio() + " getRingDisplacement: " + rainbowOvalFitting[4].getRingDisplacement() + " x-Left: " + rainbowOvalFitting[4].getXOfLeftOfRing() + " x-RightOfLeft: " + rainbowOvalFitting[4].getXOfRightOfLeftOfRing() + " x-Right: " + rainbowOvalFitting[4].getXOfRightOfRing() + " y-Top: " + rainbowOvalFitting[4].getYOfTopOfRing() + " y-BottomOfTop: " + rainbowOvalFitting[4].getYOfBottomOfTopOfRing() + " y-Bottom: " + rainbowOvalFitting[4].getYOfBottomOfRing() );
			}// */
		}
		else if ( completeRainbowFirmSystemDemoVideo || basisImageViewIndex == 14 || ( basisImageViewIndex >= 16 && basisImageViewIndex <= 20 ) || basisImageViewIndex == 26 || basisImageViewIndex > 28  )
		{
			finalFitImageArray = new Image[11];//13 For Measurement 11 Without
			finalInputForScreenShot = new FileInputStream[11];//13 For Measurement 11 Without
			finalBasisImagePR = new PixelReader[5];
			finalBackgroundBasisImagePR = new PixelReader[5];
			//finalMeasurementBasisImagePR = new PixelReader[2];
			finalInputForScreenShot[0] = new FileInputStream("C:\\\\RainbowFirm\\BackgroundBasis-0.png");
			finalInputForScreenShot[1] = new FileInputStream("C:\\\\RainbowFirm\\Basis-0.png");
			finalInputForScreenShot[2] = new FileInputStream("C:\\\\RainbowFirm\\BackgroundBasis-1.png");
			finalInputForScreenShot[3] = new FileInputStream("C:\\\\RainbowFirm\\Basis-1.png");
			finalInputForScreenShot[4] = new FileInputStream("C:\\\\RainbowFirm\\BackgroundBasis-2.png");
			finalInputForScreenShot[5] = new FileInputStream("C:\\\\RainbowFirm\\Basis-2.png");
			finalInputForScreenShot[6] = new FileInputStream("C:\\\\RainbowFirm\\BackgroundBasis-3.png");
			finalInputForScreenShot[7] = new FileInputStream("C:\\\\RainbowFirm\\Basis-3.png");
			finalInputForScreenShot[8] = new FileInputStream("C:\\\\RainbowFirm\\BackgroundBasis-4.png");
			finalInputForScreenShot[9] = new FileInputStream("C:\\\\RainbowFirm\\Basis-4.png");
			finalInputForScreenShot[10] = new FileInputStream("C:\\\\RainbowFirm\\BackUpWorkAroundImage-1.png");
			//finalInputForScreenShot[11] = new FileInputStream("C:\\\\RainbowFirm\\BasisForMeasurement-0.png");
			//finalInputForScreenShot[12] = new FileInputStream("C:\\\\RainbowFirm\\BasisForMeasurement-1.png");
			finalFitImageArray[0] = new Image(finalInputForScreenShot[0]);
			finalFitImageArray[1] = new Image(finalInputForScreenShot[1]);
			finalFitImageArray[2] = new Image(finalInputForScreenShot[2]);
			finalFitImageArray[3] = new Image(finalInputForScreenShot[3]);
			finalFitImageArray[4] = new Image(finalInputForScreenShot[4]);
			finalFitImageArray[5] = new Image(finalInputForScreenShot[5]);
			finalFitImageArray[6] = new Image(finalInputForScreenShot[6]);
			finalFitImageArray[7] = new Image(finalInputForScreenShot[7]);
			finalFitImageArray[8] = new Image(finalInputForScreenShot[8]);
			finalFitImageArray[9] = new Image(finalInputForScreenShot[9]);
			finalFitImageArray[10] = new Image(finalInputForScreenShot[10]);
			//finalFitImageArray[11] = new Image(finalInputForScreenShot[11]);//For Measurement
			//finalFitImageArray[12] = new Image(finalInputForScreenShot[12]);//For Measurement
			/*finalImageView = new ImageView[11];//13 For Measurement 11 Without
			finalImageView[0] = new ImageView(); finalImageView[1] = new ImageView(); finalImageView[2] = new ImageView(); finalImageView[3] = new ImageView(); finalImageView[4] = new ImageView(); finalImageView[5] = new ImageView(); finalImageView[6] = new ImageView(); finalImageView[7] = new ImageView(); finalImageView[8] = new ImageView(); finalImageView[9] = new ImageView(); finalImageView[10] = new ImageView();// finalImageView[11] = new ImageView(); finalImageView[12] = new ImageView();
			finalImageView[0].setImage(finalFitImageArray[0]);
			finalImageView[1].setImage(finalFitImageArray[1]);
			finalImageView[2].setImage(finalFitImageArray[2]);
			finalImageView[3].setImage(finalFitImageArray[3]);
			finalImageView[4].setImage(finalFitImageArray[4]);
			finalImageView[5].setImage(finalFitImageArray[5]);
			finalImageView[6].setImage(finalFitImageArray[6]);
			finalImageView[7].setImage(finalFitImageArray[7]);
			finalImageView[8].setImage(finalFitImageArray[8]);
			finalImageView[9].setImage(finalFitImageArray[9]);
			finalImageView[10].setImage(finalFitImageArray[10]);
			//finalImageView[11].setImage(finalFitImageArray[11]);//For Measurement
			//finalImageView[12].setImage(finalFitImageArray[12]);//For Measurement
			finalStackPane.getChildren().addAll( finalImageView[0], finalImageView[1], finalImageView[2], finalImageView[3], finalImageView[4], finalImageView[5], finalImageView[6], finalImageView[7], finalImageView[8], finalImageView[9], finalImageView[10] );//, finalImageView[11], finalImageView[12] ); */


			//CorrectiveFitImageArray.BrowserImage = finalFitImageArray[10];
			//CorrectiveFitImageArray.BuddhismBasis = finalFitImageArray[1];
			//CorrectiveFitImageArray.MagiEliteBasis = finalFitImageArray[3];
			//CorrectiveFitImageArray.MagiEliteBackgroundBasis = finalFitImageArray[2];
			//CorrectiveFitImageArray.FwaSplashBasis = finalFitImageArray[5];
			//CorrectiveFitImageArray.FwaSplashBackgroundBasis = finalFitImageArray[4];
			
			finalBackgroundBasisImagePR[0] = finalFitImageArray[0].getPixelReader();
			finalBasisImagePR[0] = finalFitImageArray[1].getPixelReader();
			finalBackgroundBasisImagePR[1] = finalFitImageArray[2].getPixelReader();
			finalBasisImagePR[1] = finalFitImageArray[3].getPixelReader();
			finalBackgroundBasisImagePR[2] = finalFitImageArray[4].getPixelReader();
			finalBasisImagePR[2] = finalFitImageArray[5].getPixelReader();
			finalBackgroundBasisImagePR[3] = finalFitImageArray[6].getPixelReader();
			finalBasisImagePR[3] = finalFitImageArray[7].getPixelReader();
			finalBackgroundBasisImagePR[4] = finalFitImageArray[8].getPixelReader();
			finalBasisImagePR[4] = finalFitImageArray[9].getPixelReader();
			finalCurrentBrowserImagePR = finalFitImageArray[10].getPixelReader();
			
			/*synchronized (lock) { finalBackgroundBasisImagePR[0] = finalFitImageArray[0].getPixelReader(); }
			synchronized (lock) { finalBasisImagePR[0] = finalFitImageArray[1].getPixelReader(); }
			synchronized (lock) { finalBackgroundBasisImagePR[1] = finalFitImageArray[2].getPixelReader(); }
			synchronized (lock) { finalBasisImagePR[1] = finalFitImageArray[3].getPixelReader(); }
			synchronized (lock) { finalBackgroundBasisImagePR[2] = finalFitImageArray[4].getPixelReader(); }
			synchronized (lock) { finalBasisImagePR[2] = finalFitImageArray[5].getPixelReader(); }
			synchronized (lock) { finalBackgroundBasisImagePR[3] = finalFitImageArray[6].getPixelReader(); }
			synchronized (lock) { finalBasisImagePR[3] = finalFitImageArray[7].getPixelReader(); }
			synchronized (lock) { finalBackgroundBasisImagePR[4] = finalFitImageArray[8].getPixelReader(); }
			synchronized (lock) { finalBasisImagePR[4] = finalFitImageArray[9].getPixelReader(); }
			synchronized (lock) { finalCurrentBrowserImagePR = finalFitImageArray[10].getPixelReader(); }// */
			
			//for ( int i = 0; i <= 10; i++ )
			//	correctiveFitImageArray[i] = finalFitImageArray[i];
			
			/*finalMeasurementBasisImagePR[0] = finalFitImageArray[11].getPixelReader();
			finalMeasurementBasisImagePR[1] = finalFitImageArray[12].getPixelReader();
			rainbowOvalFitting[0] = new RainbowOvalFitting();
			rainbowOvalFitting[1] = new RainbowOvalFitting();
			rainbowOvalFitting[2] = new RainbowOvalFitting();
			rainbowOvalFitting[3] = new RainbowOvalFitting();
			rainbowOvalFitting[4] = new RainbowOvalFitting();
			rainbowOvalFitting[0].OvalFitter( vibrantColors.Lime, Dim, finalMeasurementBasisImagePR[0] );
			rainbowOvalFitting[1].OvalFitter( vibrantColors.Maroon, Dim, finalMeasurementBasisImagePR[1] );
			rainbowOvalFitting[2].OvalFitter( vibrantColors.Black, Dim, finalMeasurementBasisImagePR[1] );
			rainbowOvalFitting[3].OvalFitter( vibrantColors.Black, Dim, finalBackgroundBasisImagePR[2] );
			rainbowOvalFitting[4].OvalFitter( vibrantColors.Magenta, Dim, finalBackgroundBasisImagePR[2] );//																																																					+ /#" getRatioAdjustor: " + rainbowOvalFitting[0].getRatioAdjustor() +#/ 
			System.out.println("rainbowOvalFitting[0].getXofCenter(): " + rainbowOvalFitting[0].getXofCenter() + " getYofCenter: " + rainbowOvalFitting[0].getYofCenter() + " getNumberOfRings: " + rainbowOvalFitting[0].getNumberOfRings() + " getWidthToHeightRatio: " + rainbowOvalFitting[0].getWidthToHeightRatio() + " getRingDisplacement: " + rainbowOvalFitting[0].getRingDisplacement() + " x-Left: " + rainbowOvalFitting[0].getXOfLeftOfRing() + " x-RightOfLeft: " + rainbowOvalFitting[0].getXOfRightOfLeftOfRing() + " x-Right: " + rainbowOvalFitting[0].getXOfRightOfRing() + " y-Top: " + rainbowOvalFitting[0].getYOfTopOfRing() + " y-BottomOfTop: " + rainbowOvalFitting[0].getYOfBottomOfTopOfRing() + " y-Bottom: " + rainbowOvalFitting[0].getYOfBottomOfRing() );
			System.out.println("rainbowOvalFitting[1].getXofCenter(): " + rainbowOvalFitting[1].getXofCenter() + " getYofCenter: " + rainbowOvalFitting[1].getYofCenter() + " getNumberOfRings: " + rainbowOvalFitting[1].getNumberOfRings() + " getWidthToHeightRatio: " + rainbowOvalFitting[1].getWidthToHeightRatio() + " getRingDisplacement: " + rainbowOvalFitting[1].getRingDisplacement() + " x-Left: " + rainbowOvalFitting[1].getXOfLeftOfRing() + " x-RightOfLeft: " + rainbowOvalFitting[1].getXOfRightOfLeftOfRing() + " x-Right: " + rainbowOvalFitting[1].getXOfRightOfRing() + " y-Top: " + rainbowOvalFitting[1].getYOfTopOfRing() + " y-BottomOfTop: " + rainbowOvalFitting[1].getYOfBottomOfTopOfRing() + " y-Bottom: " + rainbowOvalFitting[1].getYOfBottomOfRing() );
			System.out.println("rainbowOvalFitting[2].getXofCenter(): " + rainbowOvalFitting[2].getXofCenter() + " getYofCenter: " + rainbowOvalFitting[2].getYofCenter() + " getNumberOfRings: " + rainbowOvalFitting[2].getNumberOfRings() + " getWidthToHeightRatio: " + rainbowOvalFitting[2].getWidthToHeightRatio() + " getRingDisplacement: " + rainbowOvalFitting[2].getRingDisplacement() + " x-Left: " + rainbowOvalFitting[2].getXOfLeftOfRing() + " x-RightOfLeft: " + rainbowOvalFitting[2].getXOfRightOfLeftOfRing() + " x-Right: " + rainbowOvalFitting[2].getXOfRightOfRing() + " y-Top: " + rainbowOvalFitting[2].getYOfTopOfRing() + " y-BottomOfTop: " + rainbowOvalFitting[2].getYOfBottomOfTopOfRing() + " y-Bottom: " + rainbowOvalFitting[2].getYOfBottomOfRing() );
			System.out.println("rainbowOvalFitting[3].getXofCenter(): " + rainbowOvalFitting[3].getXofCenter() + " getYofCenter: " + rainbowOvalFitting[3].getYofCenter() + " getNumberOfRings: " + rainbowOvalFitting[3].getNumberOfRings() + " getWidthToHeightRatio: " + rainbowOvalFitting[3].getWidthToHeightRatio() + " getRingDisplacement: " + rainbowOvalFitting[3].getRingDisplacement() + " x-Left: " + rainbowOvalFitting[3].getXOfLeftOfRing() + " x-RightOfLeft: " + rainbowOvalFitting[3].getXOfRightOfLeftOfRing() + " x-Right: " + rainbowOvalFitting[3].getXOfRightOfRing() + " y-Top: " + rainbowOvalFitting[3].getYOfTopOfRing() + " y-BottomOfTop: " + rainbowOvalFitting[3].getYOfBottomOfTopOfRing() + " y-Bottom: " + rainbowOvalFitting[3].getYOfBottomOfRing() );
			System.out.println("rainbowOvalFitting[4].getXofCenter(): " + rainbowOvalFitting[4].getXofCenter() + " getYofCenter: " + rainbowOvalFitting[4].getYofCenter() + " getNumberOfRings: " + rainbowOvalFitting[4].getNumberOfRings() + " getWidthToHeightRatio: " + rainbowOvalFitting[4].getWidthToHeightRatio() + " getRingDisplacement: " + rainbowOvalFitting[4].getRingDisplacement() + " x-Left: " + rainbowOvalFitting[4].getXOfLeftOfRing() + " x-RightOfLeft: " + rainbowOvalFitting[4].getXOfRightOfLeftOfRing() + " x-Right: " + rainbowOvalFitting[4].getXOfRightOfRing() + " y-Top: " + rainbowOvalFitting[4].getYOfTopOfRing() + " y-BottomOfTop: " + rainbowOvalFitting[4].getYOfBottomOfTopOfRing() + " y-Bottom: " + rainbowOvalFitting[4].getYOfBottomOfRing() );// */
		}
		else
		{
			finalFitImageArray = new Image[1];
			finalInputForScreenShot = new FileInputStream[1];
			finalBasisImagePR = new PixelReader[1];
			finalBackgroundBasisImagePR = new PixelReader[1];
			finalInputForScreenShot[0] = new FileInputStream("C:\\\\RainbowFirm\\BackUpWorkAroundImage-1.png");
			/*finalFitImageArray[0] = new Image(finalInputForScreenShot[0]);
			finalImageView = new ImageView[1];
			finalImageView[0] = new ImageView();
			finalImageView[0].setImage(finalFitImageArray[0]);
			finalStackPane.getChildren().addAll( finalImageView[0] );// */
			finalCurrentBrowserImagePR = finalFitImageArray[0].getPixelReader();
			//synchronized (lock) { finalCurrentBrowserImagePR = finalFitImageArray[0].getPixelReader(); }
			//finalBackgroundBasisImagePR[0] = finalFitImageArray[0].getPixelReader();
			//finalBasisImagePR[0] = finalFitImageArray[0].getPixelReader();
		}
		//WritableImage interimImage = new WritableImage((int)Dim.getWidth(), (int)Dim.getHeight());
		Image backGroundImage = new Image("BlankBlackPictureUHD.png");
		ImageView backGroundImageView = new ImageView(backGroundImage);
		backGroundStackPane.setStyle("-fx-background-color: black;");//"-fx-background-color: #000000;");//Gives Black Background Color Or Any Hex Color Number Manually Put In Here And Only Here
		backGroundStackPane.setOpacity(1);//Needed Also For Background Color To Apply To All Batch Productions
		backGroundStackPane.getChildren().add(backGroundImageView);
		//finalStackPane.getChildren().addAll(backGroundImageView, tertiaryBackUpWorkAroundImageView);
		//thirdStackPaneForPW = thirdStackPaneForWriting;
		//thirdStackPaneForPW.getChildren().addAll(backGroundImageView);
		//thirdScene = new Scene(thirdStackPaneForPW);
		thirdScene.setRoot(backGroundStackPane);// */
		//thirdSceneForWriting = new Scene(thirdStackPaneForPW);
		//thirdSceneForWriting.setRoot(backGroundStackPane);
		try { Thread.sleep((long)threadThrottle*2666);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// #/
		System.out.println("Got To Video Control Variables Section.");
		///tertiaryStage.setScene(thirdScene);
		///tertiaryStage.setFullScreen(tertiaryIsFullScreened);
		///tertiaryStage.show();
		//tertiaryBackUpWorkAroundImagePR = tertiaryBackUpWorkAroundImageView.snapshot( snapshotParameters, writableImage).getPixelReader();
		//"FullDisplay", "FullDisplayNoBrowser", "SimplyBrowserShowing", "BackgroundToBasisFullDisplay", "FullDisplayNoTextShownAtAll", "FullDisplayBasisText", "FullDisplayBackgroundToBasisNoTextShownAtAll", "BackgroundToBasisFullDisplayBasisText", "FullDisplayBasisBackround", "FullDisplayWithBasisButClearBackground", "FullDisplayWithBasisButBlackBackground", "FullDisplayWithBasisButWhiteBackground", "FullDisplayBasisOnly", "FullDisplayTextBackroundDisplayOnly", "BasisBackroundDisplayOnly", "BackroundDisplayOnly", "TextDisplayOnly", "TextDisplayOnlyWhiteShowingBackground", "BasisTextDisplayOnly", "BasisTextDisplayOnWhite", "BasisTextDisplayOnBlack", "NoDisplay", "BlackScreen"
		String typeOfDisplay = "FullDisplay";//"BasisTextDisplayOnWhite";//"BasisTextDisplayOnly";//"FullDisplay";//"TextDisplayOnly"//"TextDisplayOnlyWhiteShowingBackground"
		String selectionPrefix = "PixieVixenVySpiralBlackBackground";//AlphaTesting008FwaRainbowFirm0.1.0.9RainbowVideo";//"" "_" "BlankWebPage" "FwaRainbowFirm0.1.0.6" "RainbowFirmDescription&DemonstrationForProductionUHD.html" "RainbowFirmWaterMarkForProductionUHD.html" "1Hand" "2Hand" "4Hand" "16HandJapaneseStyle" "RainbowDisk" "RainbowTarget" Spiral: "0001Single" "0002Double" "0003Triple" "0004Quadruple" "0005Quintuple" "0006Sextuple" "0007Septuple" "0008Octuple" "0009Nanuple" "0010Decuple" "0011Elevenuple" "0012Twelveuple" "0013Thriteenuple" "0014Fourteenuple", "CenterOf" "Diagnostics" "DirectSelection" "GlobalSelection" "GlobalDiagnostic" "UserAccess" "RainbowPattern2D" "RainbowPattern2DcolorMovementDynamics" "RainbowPattern2DstillMovementDynamics" "RainbowPattern2DdoubleMovementDynamics" "RainbowPostPattern2D" "RainbowPostPattern2Dselector" "Final" "Definitive"
		String selection = "RainbowFwaFlagLogo";//"Diagnostics" "RainbowFwaFlagLogo" "TransparencySliderFunction", "TheRainbowSoftColorFunction", "RainbowHorizontal", "SimpleRainbow", "SimpleRainbowReverse", "SimpleCustomColor", "DiskVaryated", "DiskGradated", "RingVaryated", "RingGradated", "ClockVaryated", "ClockGradated", "SpiralVaryated", "SpiralGradated", "CheapFractalVaryated", "CheapFractalGradated", "StrobeVaryated", "StrobeGradated", "Exponentiator", "DoubleExponentiator", "FanOutClock", "Kaleidoscope" "16HandsClockJap" "Diagnostics"; Rainbow Before Without Varyated Or Gradated For PostPattern2D Browser Support + Splash Screen "RainbowBuddhism" "RainbowMagiElite" "RainbowFwaLogoSplash" "RainbowFwaFlagLogoSplash" "RainbowFwaFlagLogo" 
		String basisIndexChoiceText = "ErrorIfThisTextIsDisplayed";//CompleteRainbowFirmSystem
		int subSelection = 0;//CompleteRainbowFirmSystemDemoVideo PostStreamLinedChoiceDemoVideo
		boolean reversedRainbow = false, reversedColors = false, swapColorComboDuo = false, invertBasisFromBackground = true, auxiliarySwitch = true, invertInsteadOfReverse = false, invertBasisPicture = false, invertBoth = false, blockAdjustment = false, nextStepColorTooSimilarEffect = true, invertJustOrigional = false, invertTextAlways = false, textOutlineBlendingToBasisInvert = false, textColorOverlay = false, backgroundColorOverlay = false, showBasisOverlayForText = true/* Previously In PermaBetaMode showBasisOverlayForText Must Be true which is why It Is PermaBetaSealed */, showBasisOverlayForBackground = true, basisOverlaySeperateTextFade = false, basisOverlaySeperateBackgroundFade = false, useFadeAtAll = false, overlayColorScheme = false;
		//reversedColors = true; invertBoth = true;// Rainbow Steel Look
		double textColorOverlayRatio = 1.0, backgroundColorOverlayRatio = 1.0, basisOverlaySeperateTextRatio = 1.0, basisOverlaySeperateBackgroundRatio = 1.0;//textColorOverlayRatio = 0.5; backgroundColorOverlayRatio = 0.5; basisOverlaySeperateTextRatio = 0.5; basisOverlaySeperateBackgroundRatio = 0.5;
		Color initialColorContrastingChoice = vibrantColors.NeonGreen, colorTooSimilarReplacementColor = vibrantColors.SkyBlue, textColorToOverlay = vibrantColors.Black, backgroundColorToOverlay = vibrantColors.White, basisOverlaySperateTextColor = vibrantColors.LightGrey, basisOverlaySperateBackgroundColor = vibrantColors.DarkGrey;//textColorToOverlay = vibrantColors.White, backgroundColorToOverlay = vibrantColors.Black
		textColorToOverlay = vibrantColors.White; backgroundColorToOverlay = vibrantColors.Black;//For Dark Theme
		int gradations = 2147483647;//0;//2147483647;//Low For Blocky Rainbows
		double brightnessMultiplyer = 1, opacityBefore = 1, opacityAfter = 1, rainbowWidth = Dim.getWidth(), numberOfClockHands = 1, fanOutRadius = Dim.getHeight(), numberOfRingsVertically = 1. /* / 0.175979734764 */, numberOfRingsVerticallyForFwa = 8, ringDisplacement = 0 * 188.4444444444444 * Dim.getHeight() / 1080, innerCutOffRadius = 0/* HalfedDim.getHeight() / 6 */, outerCutOffRadius = 1000000/* HalfedDim.getHeight() *//*1000000*/, spiralFactor = 24.6 / 4.78, shrunkenFactor = 88.8, /*1080 / Dim.getHeight() = shrunkenFactor, shrunkenFactor = 144 * 1080 / Dim.getHeight(), */ numberOfSpirals = 2, suckInExponentialness = 1.014, suckInDivisor = 1.00000000, exponentValue = 4., colorFlipper = 1; numberOfSpirals = 0.25 * numberOfSpirals;//opacityBefore = -7/8, opacityAfter = ( 15/7 - 7/8 )

		textColorToOverlay = Color.color(textColorToOverlay.getRed(),textColorToOverlay.getGreen(),textColorToOverlay.getBlue(), textColorOverlayRatio * textColorToOverlay.getOpacity() );
		backgroundColorToOverlay = Color.color(backgroundColorToOverlay.getRed(),backgroundColorToOverlay.getGreen(),backgroundColorToOverlay.getBlue(), backgroundColorOverlayRatio * backgroundColorToOverlay.getOpacity() );
		basisOverlaySperateTextColor = Color.color(basisOverlaySperateTextColor.getRed(),basisOverlaySperateTextColor.getGreen(),basisOverlaySperateTextColor.getBlue(), basisOverlaySeperateTextRatio * basisOverlaySperateTextColor.getOpacity() );
		basisOverlaySperateBackgroundColor = Color.color(basisOverlaySperateBackgroundColor.getRed(),basisOverlaySperateBackgroundColor.getGreen(),basisOverlaySperateBackgroundColor.getBlue(), basisOverlaySeperateBackgroundRatio * basisOverlaySperateBackgroundColor.getOpacity() );
		Color textColorToOverlayCurrent = textColorToOverlay, backgroundColorToOverlayCurrent = backgroundColorToOverlay, basisOverlaySperateTextColorCurrent = basisOverlaySperateTextColor, basisOverlaySperateBackgroundColorCurrent = basisOverlaySperateBackgroundColor;
		double colorDifference = 188;//164 188 192 224 248 For More Artful Depictions <-> 248 Extra-Sensitive For Poor Vision;
		int lengthOfColorBar = (int)(Dim.getHeight() * 29 / 1080);
		System.out.println("Showing Frame 0");
		if (tertiaryRoot == null) {
			throw new RuntimeException("Could not find " + tertiaryRoot.toString()); }
		//camera may Be Needed
		//thirdScene.getCamera().snapshot(snapshotParameters, tertiaryWritableImage);
		///thirdScene.setRoot(tertiaryRoot);
		///tertiaryStage.show();// !!!!! Uncomment To Show Video !!!!!
		///thirdScene = new Scene(thirdStackPaneForWriting);
		//thirdScene = new Scene(thirdStackPaneForBasis);
		//thirdScene = new Scene(thirdStackPaneForWriting);
		///tertiaryStage.setScene(thirdScene);
		System.out.println("Dim: " + Dim);
		//tertiaryStage.setFullScreen(tertiaryIsFullScreened);// ASDF !!!! HERE ! Important For Full Screened

		try { Thread.sleep((long)threadThrottle*367);//tertiaryThread.sleep((long)threadThrottle*3000);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// */

		tertiaryStage.show(); // !!!!! Uncomment To Show Video !!!!!
		int videoFrameQuantityForComment = (int)Math.round(videoFrameQuantity + 1);
		if ( videoFrameQuantity == 1 )
			videoFrameQuantityForComment = 1;
		if (!completeRainbowFirmSystemDemoVideo)
			switch (basisImageViewIndex)
			{
			case 0: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; BuddhismForRaster #OfFrames: " + videoFrameQuantityForComment); break;
			case 1: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; MagiEliteForRaster #OfFrames: " + videoFrameQuantityForComment); break;
			case 2: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; FwaLogoSplash #OfFrames: " + videoFrameQuantityForComment); break;
			case 3: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; FwaFlagLogoSplash #OfFrames: " + videoFrameQuantityForComment); break;
			case 4: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowHorizontal #OfFrames: " + videoFrameQuantityForComment); break;
			case 5: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; Diagnostics #OfFrames: " + videoFrameQuantityForComment); break;
			case 6: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowClock #OfFrames: " + videoFrameQuantityForComment); break;
			case 7: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowRing #OfFrames: " + videoFrameQuantityForComment); break;
			case 8: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowStrobe #OfFrames: " + videoFrameQuantityForComment); break;
			case 9: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowSpiral #OfFrames: " + videoFrameQuantityForComment); break;
			case 10: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowCheapFractal #OfFrames: " + videoFrameQuantityForComment); break;
			case 11: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; Pattern2D #OfFrames: " + videoFrameQuantityForComment); break;
			case 12: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowExponentiator #OfFrames: " + videoFrameQuantityForComment); break;
			case 13: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowDobuleExponentiator #OfFrames: " + videoFrameQuantityForComment); break;
			case 14: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowSplashAndPostPattern2D #OfFrames: " + videoFrameQuantityForComment); break;
			case 15: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; diagnostics.RainbowPattern2D #OfFrames: " + videoFrameQuantityForComment); break;
			case 16: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowPattern2DcolorMovementDynamics #OfFrames: " + videoFrameQuantityForComment); break;
			case 17: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowPattern2DstillMovementDynamics #OfFrames: " + videoFrameQuantityForComment); break;
			case 18: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowPattern2DdoubleMovementDynamics #OfFrames: " + videoFrameQuantityForComment); break;
			case 19: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; diagnostics.RainbowGlobalSelector #OfFrames: " + videoFrameQuantityForComment); break;
			case 20: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowGlobalSelector #OfFrames: " + videoFrameQuantityForComment); break;
			case 21: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowFlasher #OfFrames: " + videoFrameQuantityForComment); break;
			case 22: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; PostPattern2Ddiagnostics #OfFrames: " + videoFrameQuantityForComment); break;
			case 23: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; PostPattern2D.Selector #OfFrames: " + videoFrameQuantityForComment); break;
			case 24: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; FwaFlagLogo #OfFrames: " + videoFrameQuantityForComment); break;
			case 25: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowFanOutClock #OfFrames: " + videoFrameQuantityForComment); break;
			case 26: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; DiagnosticsOfRainbowPattern2DfullMovementDynamics #OfFrames: " + videoFrameQuantityForComment); break;
			case 27: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowKaladaScope #OfFrames: " + videoFrameQuantityForComment); break;
			case 28: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; DiagnosticsOfRainbowSoftColorTransparencySliderTooSimilar #OfFrames: " + videoFrameQuantityForComment); break;
			case 29: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowFirmFullSystemDisplay #OfFrames: " + videoFrameQuantityForComment); break;
			case 30: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; RainbowFirmFullColorDisplay #OfFrames: " + videoFrameQuantityForComment); break;
			case 31: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; DiagnosticsOfRainbowDisplayType #OfFrames: " + videoFrameQuantityForComment); break;
			case 32: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; DiagnosticsOfRainbowBackGroundTextFadeIn #OfFrames: " + videoFrameQuantityForComment); break;
			case 33: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; DiagnosticsOfRainbowBooleanSwitchControl #OfFrames: " + videoFrameQuantityForComment); break;
			case 34: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; BattleInterface #OfFrames: " + videoFrameQuantityForComment); break;
			case 35: System.out.println("basisImageViewIndex: " + basisImageViewIndex + "; ClearForDevUser #OfFrames: " + videoFrameQuantityForComment); break;
			}// */
		else
			System.out.println("completeRainbowFirmSystemDemoVideo: " + completeRainbowFirmSystemDemoVideo + ". basisImageViewIndex Ignored. #OfFrames: " + videoFrameQuantityForComment);
		Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*4689);//tertiaryThread.sleep((long)threadThrottle*2489);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		} } ) ;// */
		//tertiaryStage.show();
		try { Thread.sleep((long)threadThrottle*1440);//tertiaryThread.sleep((long)threadThrottle*1000);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// */
		//System.gc();
		Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*4000);//tertiaryThread.sleep((long)threadThrottle*4879);//4879//10000
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		} } ) ;// */
		
		//double teenyTinyItsyWitzyBit = 0.001, teenyTinyWeenyBit = 0.01, teenyTinyLittleBit = 0.1, teenyLittleBit = 1.0;
		//tertiaryXslider = tertiaryXslider + teenyLittleBit;//Don't Uncomment For Proper Still + Double Slider First Frame Use Smallest That Works Just Before switch (basisImageViewIndex)
		double colorsFactor = videoSequenceLoopQuantity, repeatFactor = videoSequenceLoopQuantity, fullSliderRunThrough = videoSequenceLoopQuantity, locationOfStillMovement = tertiaryXslider, locationOfColorMovement = tertiaryXslider;//locationOfStillMovement = tertiaryXslider, locationOfColorMovement = tertiaryXslider, For Red-Purple Blocky Ends But If Not With + 0.000001 Will Cause Errors In Normal Rainbow Picture Production. This Problem Has Been Fixed Since The Complete Alpha So Don't Add A Teeny-Tiny-Itsy-Witzy Bit Here.
		//0-117 For All Productions. 68-92 For Black/White Background Options. 13-19, 60-117 For Well Discerned Flashing Effect In Dense Pixel Color Change Regions. 92-106 For Transparency ARGB{Opacity, Red, Green, Blue} Color Effect Demos. DO NOT ATTEMPT TO MAKE TOO LONG OF A HIGH FRAME RATE VIDEO Think 192-1024 Frames For NonServer Productions.
		int beginingOfDiagnosticsSecondaryIndex = 0; int numberOfDiagnosticsSecondaryIndexies = 1;/*117 Max*/; int beginingOfDiagnosticsIndex = 0; int numberOfDiagnosticsIndexies = 35; int currentBasisViewIndex = 0;//Min: 0, Max: numberOfDiagnosticsIndexies = 35; For ColorCombo General Batch Productions: beginingOfDiagnosticsSecondaryIndex = 0; numberOfDiagnosticsSecondaryIndexies = 117;//Check To See If Below for Statement With b In It Is Good For This Control. For Just Selecting 1 Color Better Done With RainbowVideo.java: numberOfDiagnosticsSecondaryIndexies = beginingOfDiagnosticsSecondaryIndex + 1;
		boolean usefulColorsGoneThrough = true, blankWebPageIs = false; if ( !completeRainbowFirmSystemDemoVideo ) { beginingOfDiagnosticsIndex = basisImageViewIndex; numberOfDiagnosticsIndexies = beginingOfDiagnosticsIndex + 1; }//UnComment For RainbowSetup.java Choice//Comment Whole Line For Just 1 RainbowFirm.com Basis + Color Choice  This: numberOfDiagnosticsIndexies = beginingOfDiagnosticsIndex + 1; Does Just 1 Index
		int a = beginingOfDiagnosticsIndex; int b = beginingOfDiagnosticsSecondaryIndex;
		while ( a < numberOfDiagnosticsIndexies )//Use For Just Above Indexes You Need To Control: int a = beginingOfDiagnosticsIndex; while ( a < numberOfDiagnosticsIndexies )
		{
			//if ( a == 4 )//For Skipping To FwaFlagLogoIf completeRainbowFirmSystemDemoVideo == true
			//	a = 24;
			basisImageViewIndex = a;
			b = beginingOfDiagnosticsSecondaryIndex;
			if ( completeRainbowFirmSystemDemoVideo ) { if ( a == 11 ) a = 12; if ( a == 20 ) a = 21; if ( a == 23 ) a = 24;//To Not Have Redundant Basis Selections In Full Primary Basis RunThrough.
				basisImageViewIndex = a; }//Maybe UnComment For RainbowSetup.java Choice Worry About While Loops Doing What You Want!
			while ( b < numberOfDiagnosticsSecondaryIndexies /*( b < 6 || ( b > 12 && b < 17 ) || ( b > 18 && b < 25 ) || ( b > 26 && b < 35 ) || ( b > 35 && b < 40 ) || ( b > 41 && b < 46 ) || ( b > 47 && b < 104 ) ) b < 109 && */ )//Use For NonBlack Display: int b = beginingOfDiagnosticsSecondaryIndex; boolean usefulColorsGoneThrough = false; while ( b < numberOfDiagnosticsSecondaryIndexies )// a = 0; a < 32 // a = z; a < z + 1 //Needs To Be Done In The Batches Of 60 Right Now Of Same Basis & Background //For Batches Of "http://www.pixies.zone/BlankWebPage.html" Use: int b = beginingOfDiagnosticsSecondaryIndex; boolean usefulColorsGoneThrough = true; while ( ( b < 6 || ( b > 12 && b < 17 ) || ( b > 18 && b < 25 ) || ( b > 26 && b < 35 ) || ( b > 35 && b < 40 ) || ( b > 41 && b < 46 ) || ( b > 47 && b < 109 ) ) && b < numberOfDiagnosticsSecondaryIndexies )
			{
				if ( completeRainbowFirmSystemDemoVideo ) if ( b == 93 ) b = 96;
				useAlternateBasis = false;
				switch ( b )
				{//RainbowFirm(F) Flashing Selenium Firefox Browser Text colorSet Schemes
				case 0: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolors, vibrantColorCombos.RainbowFXcolorsReverse, vibrantColorCombos.RainbowFXcolorsReverseNoPink }; useAlternateBasis = true; colorSetLabel = "NormalRaibowPink"; break;
				case 1: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolorsReverseWYellowDarkWOPink, vibrantColorCombos.RainbowFXcolorsWNeonGreenCenterBrightBlueInsteadOfBlue }; colorSetLabel = "GoldenRaibowReverse"; break;
				case 2: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolorsReverseNoPink, vibrantColorCombos.RainbowFXcolorsWPinkCenter, vibrantColorCombos.RainbowFXcolors }; colorSetLabel = "NormalRaibowReversePink"; break;
				case 3: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolorsWNeonGreenCenterReverseBrightBlueInsteadOfBlue, vibrantColorCombos.RainbowFXcolorsWYellowDark }; colorSetLabel = "BrightRaibowReverse"; break;
				case 4: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolorsWYellowDark, vibrantColorCombos.RainbowFXcolorsWNeonGreenCenterReverseBrightBlueInsteadOfBlue }; useAlternateBasis = true; colorSetLabel = "GoldenRaibow"; break;
				case 5: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolorsWNeonGreenCenterBrightBlueInsteadOfBlue, vibrantColorCombos.RainbowFXcolorsReverseWYellowDarkWOPink }; useAlternateBasis = true; colorSetLabel = "BrightRaibow"; break;
				case 6: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolors, vibrantColorCombos.RainbowFXcolorsWShitBrownCenterReverse, vibrantColorCombos.RainbowFXcolorsReverseNoPink }; useAlternateBasis = true; colorSetLabel = "NormalRaibowShitBrownInsteadOfPink"; break;
				case 7: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolorsReverseNoPink, vibrantColorCombos.RainbowFXcolorsWShitBrownCenter, vibrantColorCombos.RainbowFXcolors }; colorSetLabel = "NormalRaibowReverseShitBrownInsteadOfPink"; break;
				case 8: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolors, vibrantColorCombos.RainbowFXcolorsWBrownCenterReverse, vibrantColorCombos.RainbowFXcolorsReverseNoPink }; useAlternateBasis = true; colorSetLabel = "NormalRaibowBrownInsteadOfPink"; break;
				case 9: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolorsReverseNoPink, vibrantColorCombos.RainbowFXcolorsWBrownCenter, vibrantColorCombos.RainbowFXcolors }; colorSetLabel = "NormalRaibowReverseBrownInsteadOfPink"; break;
				case 10: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolors, vibrantColorCombos.RainbowFXcolorsWBlackCenterReverse, vibrantColorCombos.RainbowFXcolorsReverseNoPink }; useAlternateBasis = true; colorSetLabel = "NormalRaibowBlackInsteadOfPink"; break;
				case 11: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolorsReverseNoPink, vibrantColorCombos.RainbowFXcolorsWBlackCenter, vibrantColorCombos.RainbowFXcolors }; colorSetLabel = "NormalRaibowReverseBlackInsteadOfPink"; break;
				case 12: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolors }; useAlternateBasis = true; colorSetLabel = "NormalRaibowWSysChoosenRevColors"; break;
				case 13: colorSet = new Color[][]{ vibrantColorCombos.ImperialFXcolors, vibrantColorCombos.ImperialFXcolorsReverse }; colorSetLabel = "Imperial"; break;
				case 14: colorSet = new Color[][]{ vibrantColorCombos.ImperialFXcolorsReverse, vibrantColorCombos.ImperialFXcolors }; useAlternateBasis = true; colorSetLabel = "ImperialFlashing"; break;
				case 15: colorSet = new Color[][]{ colorArrayReverser.ReverseArray( vibrantColorCombos.ImperialFXcolors, true, false, true ), colorArrayReverser.ReverseArray( vibrantColorCombos.ImperialFXcolorsReverse, true, false, true ) }; useAlternateBasis = true; colorSetLabel = "ImperialReverse"; break;
				case 16: colorSet = new Color[][]{ colorArrayReverser.ReverseArray( vibrantColorCombos.ImperialFXcolorsReverse, true, false, true ), colorArrayReverser.ReverseArray( vibrantColorCombos.ImperialFXcolors, true, false, true ) }; colorSetLabel = "ImperialFlashingReverse"; break;
				case 17: colorSet = new Color[][]{ vibrantColorCombos.ImperialFXcolors, colorArrayReverser.ReverseArray( vibrantColorCombos.ImperialFXcolors, false, true, true ) }; colorSetLabel = "ImperialWSystemColors"; break;
				case 18: colorSet = new Color[][]{ colorArrayReverser.ReverseArray( vibrantColorCombos.ImperialFXcolors, false, true, true ), vibrantColorCombos.ImperialFXcolors }; useAlternateBasis = true; colorSetLabel = "ImperialWSystemColorsReverse"; break;
				case 19: colorSet = new Color[][]{ vibrantColorCombos.InterfaceDesignationFXcolors, vibrantColorCombos.InterfaceDesignationFXcolorsReverse }; useAlternateBasis = true; colorSetLabel = "InterfaceRaibow"; break;//For Quicker Reversed PostPattern2DInput
				case 20: colorSet = new Color[][]{ vibrantColorCombos.InterfaceDesignationFXcolorsReverse, vibrantColorCombos.InterfaceDesignationFXcolors }; colorSetLabel = "InterfaceRaibowFlashing"; break;
				case 21: colorSet = new Color[][]{ colorArrayReverser.ReverseArray( vibrantColorCombos.InterfaceDesignationFXcolors, true, false, true ), colorArrayReverser.ReverseArray( vibrantColorCombos.InterfaceDesignationFXcolorsReverse, true, false, true ) }; colorSetLabel = "InterfaceRaibowReverse"; break;
				case 22: colorSet = new Color[][]{ colorArrayReverser.ReverseArray( vibrantColorCombos.InterfaceDesignationFXcolorsReverse, true, false, true ), colorArrayReverser.ReverseArray( vibrantColorCombos.InterfaceDesignationFXcolors, true, false, true ) }; useAlternateBasis = true; colorSetLabel = "InterfaceRaibowReverseFlashing"; break;
				case 23: colorSet = new Color[][]{ vibrantColorCombos.FireFXcolors, vibrantColorCombos.FireFXcolorsReverse }; useAlternateBasis = true; colorSetLabel = "Firey"; break;
				case 24: colorSet = new Color[][]{ vibrantColorCombos.FireFXcolorsReverse, vibrantColorCombos.FireFXcolors }; colorSetLabel = "FireyFlashing"; break;
				case 25: colorSet = new Color[][]{ vibrantColorCombos.InterfaceDesignationFXcolors }; useAlternateBasis = true; colorSetLabel = "InterfaceRainbowSystemColorsText"; break;
				case 26: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXBlack, vibrantColorCombos.InterfaceDesignationFXcolorsReverseBrightBlue }; colorSetLabel = "BlackWInterfaceRainbowReverse"; break;
				case 27: colorSet = new Color[][]{ vibrantColorCombos.BlackWhiteFX, vibrantColorCombos.WhiteDarkYellowBlackFX }; colorSetLabel = "Sepia"; break;
				case 28: colorSet = new Color[][]{ vibrantColorCombos.WhiteBlackFX, vibrantColorCombos.BlackDarkYellowWhiteFX }; useAlternateBasis = true; colorSetLabel = "SepiaReverse"; break;
				case 29: colorSet = new Color[][]{ vibrantColorCombos.WhiteDarkYellowBlackFX, vibrantColorCombos.BlackWhiteFX }; useAlternateBasis = true; colorSetLabel = "SepiaFlashing"; break;
				case 30: colorSet = new Color[][]{ vibrantColorCombos.BlackDarkYellowWhiteFX, vibrantColorCombos.WhiteBlackFX }; colorSetLabel = "SepiaReverseFlashing"; break;
				case 31: colorSet = new Color[][]{ vibrantColorCombos.WhiteNeonGreenBlackFX, vibrantColorCombos.BlackWhiteFX }; useAlternateBasis = true; colorSetLabel = "BlackWhiteFutura"; break;
				case 32: colorSet = new Color[][]{ vibrantColorCombos.BlackNeonGreenWhiteFX, vibrantColorCombos.WhiteBlackFX }; colorSetLabel = "BlackWhiteFuturaFlashing"; break;
				case 33: colorSet = new Color[][]{ vibrantColorCombos.WhiteMagentaBlackFX, vibrantColorCombos.BlackWhiteFX }; useAlternateBasis = true; colorSetLabel = "BlackWhiteArtistic"; break;
				case 34: colorSet = new Color[][]{ vibrantColorCombos.BlackMagentaWhiteFX, vibrantColorCombos.WhiteBlackFX }; colorSetLabel = "BlackWhiteArtisticFlashing"; break;
				case 35: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXClear, vibrantColorCombos.InterfaceDesignationFXcolorsDarkYellow }; colorSetLabel = "ClearInterfaceText"; break;//Won't Work Definitely Don't Fix
				case 36: colorSet = new Color[][]{ vibrantColorCombos.MexicanFXcolors, vibrantColorCombos.MexicanFXcolorsReverse }; useAlternateBasis = true; colorSetLabel = "Mexican"; break;
				case 37: colorSet = new Color[][]{ vibrantColorCombos.MexicanFXcolorsReverse, vibrantColorCombos.MexicanFXcolors }; colorSetLabel = "MexicanFlashing"; break;
				case 38: colorSet = new Color[][]{ vibrantColorCombos.MexicanLongFXcolors, vibrantColorCombos.MexicanLongFXcolorsReverse }; useAlternateBasis = true; colorSetLabel = "MexicanLong"; break;
				case 39: colorSet = new Color[][]{ vibrantColorCombos.MexicanLongFXcolorsReverse, vibrantColorCombos.MexicanLongFXcolors }; colorSetLabel = "MexicanLongFlashing"; break;
				case 40: colorSet = new Color[][]{ vibrantColorCombos.BlackMagentaWhiteFX, vibrantColorCombos.WhiteBlackFX }; colorSetLabel = "PutYoursHere"; break;//Closet Thing To Black And White That Works For Browser Text Display
				case 41: colorSet = new Color[][]{ colorArrayReverser.ReverseArray( vibrantColorCombos.WhiteBlackFX, true, false, true ), colorArrayReverser.ReverseArray( vibrantColorCombos.BlackNeonGreenWhiteFX, true, false, true ) }; colorSetLabel = "ArrayReverserTest"; break;
				case 42: colorSet = new Color[][]{ vibrantColorCombos.EBayFXcolors, vibrantColorCombos.EBayFXcolorsReverse }; useAlternateBasis = true; colorSetLabel = "EBay"; break;
				case 43: colorSet = new Color[][]{ vibrantColorCombos.EBayFXcolorsReverse, vibrantColorCombos.EBayFXcolors }; colorSetLabel = "EbayFlashing"; break;
				case 44: colorSet = new Color[][]{ { vibrantColors.Red, vibrantColors.Green, vibrantColors.Blue }, { vibrantColors.Blue, vibrantColors.Yellow, vibrantColors.Red } }; useAlternateBasis = true; colorSetLabel = "RGB"; break;
				case 45: colorSet = new Color[][]{ { vibrantColors.Red, vibrantColors.Yellow, vibrantColors.Blue }, { vibrantColors.Blue, vibrantColors.Green, vibrantColors.Red } }; useAlternateBasis = true; colorSetLabel = "RYB"; break;
				case 46: colorSet = null; colorSetLabel = "InherantSystemsColors"; useAlternateBasis = true; break;
				case 47: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolors, vibrantColorCombos.RainbowFXcolorsReverse, vibrantColorCombos.RainbowFXcolorsReverseNoPink, vibrantColorCombos.MexicanFXcolors }; useAlternateBasis = true; colorSetLabel = "TestColors"; break;
				case 48: colorSet = new Color[][]{ vibrantColorCombos.PatriotActIsmFXColors, vibrantColorCombos.PatriotActIsmFXColorsReverse }; useAlternateBasis = true; colorSetLabel = "PatriotActIsmColors"; break;
				case 49: colorSet = new Color[][]{ vibrantColorCombos.PatriotActIsmFXColorsReverse, vibrantColorCombos.PatriotActIsmFXColors }; colorSetLabel = "PatriotActIsmFlashingColors"; break;
				case 50: colorSet = new Color[][]{ vibrantColorCombos.RoyalColorsFXColors, vibrantColorCombos.RoyalColorsFXColorsReverse }; useAlternateBasis = true; colorSetLabel = "RoyalColors"; break;
				case 51: colorSet = new Color[][]{ vibrantColorCombos.RoyalColorsFXColorsReverse, vibrantColorCombos.RoyalColorsFXColors }; colorSetLabel = "RoyalFlashingColors"; break;
				case 52: colorSet = new Color[][]{ vibrantColorCombos.DragonColorsFXColors, vibrantColorCombos.DragonColorsFXColorsReverse }; useAlternateBasis = true; colorSetLabel = "DragonColors"; break;
				case 53: colorSet = new Color[][]{ vibrantColorCombos.DragonColorsFXColorsReverse, vibrantColorCombos.DragonColorsFXColors }; colorSetLabel = "DragonFlashingColors"; break;
				case 54: colorSet = new Color[][]{ vibrantColorCombos.OlympicsColorsFXColors, vibrantColorCombos.OlympicsColorsFXColorsReverse }; colorSetLabel = "OlympicsColors"; break;
				case 55: colorSet = new Color[][]{ vibrantColorCombos.OlympicsColorsFXColorsReverse, vibrantColorCombos.OlympicsColorsFXColors }; useAlternateBasis = true; colorSetLabel = "OlympicsFlashingColors"; break;
				case 56: colorSet = new Color[][]{ vibrantColorCombos.HalloweenFXcolors, vibrantColorCombos.HalloweenFXcolorsReverse }; colorSetLabel = "HalloweenColors"; break;
				case 57: colorSet = new Color[][]{ vibrantColorCombos.HalloweenFXcolorsReverse, vibrantColorCombos.HalloweenFXcolors }; useAlternateBasis = true; colorSetLabel = "HalloweenFlashingColors"; break;
				case 58: colorSet = new Color[][]{ vibrantColorCombos.ElementsColorsFXColors, vibrantColorCombos.ElementsColorsFXColorsReverse }; colorSetLabel = "ElementsColors"; break;
				case 59: colorSet = new Color[][]{ vibrantColorCombos.ElementsColorsFXColorsReverse, vibrantColorCombos.ElementsColorsFXColors }; colorSetLabel = "ElementsFlashingColors"; break;
				//Pastel & Deep Rainbow Flashers. 60, 62, 64, 66 Skipped if usefulColorsGoneThrough = true.
				case 60: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolors, vibrantColorCombos.RainbowNormalPastelReverseFX }; useAlternateBasis = true; colorSetLabel = "NormalRainbowFlashingPastel"; break;
				case 61: colorSet = new Color[][]{ vibrantColorCombos.RainbowNormalPastelReverseFX, vibrantColorCombos.RainbowFXcolors }; colorSetLabel = "NormalRainbowFlashingPastelReverse"; break;
				case 62: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolors, vibrantColorCombos.RainbowDeepReverseFX }; useAlternateBasis = true; colorSetLabel = "NormalRainbowFlashingDeep"; break;
				case 63: colorSet = new Color[][]{ vibrantColorCombos.RainbowDeepReverseFX, vibrantColorCombos.RainbowFXcolors }; colorSetLabel = "NormalRainbowFlashingDeepReverse"; break;
				case 64: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolorsReverseWYellowDarkWOPink, colorArrayReverser.ReverseArray( vibrantColorCombos.RainbowGoldenPastelReverseFX, true, false, true ) }; colorSetLabel = "GoldenRainbowFlashingPastel"; break;
				case 65: colorSet = new Color[][]{ colorArrayReverser.ReverseArray( vibrantColorCombos.RainbowGoldenPastelReverseFX, true, false, true ), vibrantColorCombos.RainbowFXcolorsReverseWYellowDarkWOPink }; useAlternateBasis = true; colorSetLabel = "GoldenRainbowFlashingPastelReverse"; break;
				case 66: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolorsWNeonGreenCenterReverseBrightBlueInsteadOfBlue, colorArrayReverser.ReverseArray( vibrantColorCombos.RainbowDeepReverseFX, true, false, true ) }; colorSetLabel = "BrightRainbowFlashingDeep"; break;
				case 67: colorSet = new Color[][]{ colorArrayReverser.ReverseArray( vibrantColorCombos.RainbowDeepReverseFX, true, false, true ), vibrantColorCombos.RainbowFXcolorsWNeonGreenCenterReverseBrightBlueInsteadOfBlue }; useAlternateBasis = true; colorSetLabel = "BrightRainbowFlashingDeepReverse"; break;
				//Black Or White Backgrounds Or Black Or White Text colorSet Schemes
				case 68: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXBlack, vibrantColorCombos.RainbowFXcolorsWNeonGreenCenterReverseBrightBlueInsteadOfBlue }; colorSetLabel = "BlackBackgroundBrightRaibowReverse"; break;
				case 69: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXWhite, vibrantColorCombos.RainbowFXcolorsReverseWYellowDarkWOPink }; colorSetLabel = "WhiteBackgroundGoldenRaibowReverse"; break;
				case 70: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolorsReverseWYellowDarkWOPink, vibrantColorCombos.DoubleFXWhite }; colorSetLabel = "GoldenRaibowReverseWhiteText"; break;
				case 71: colorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolorsWNeonGreenCenterReverseBrightBlueInsteadOfBlue, vibrantColorCombos.DoubleFXBlack }; colorSetLabel = "BrightRaibowReverseBlackText"; break;
				case 72: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXBlack, vibrantColorCombos.ImperialFXcolorsReverse }; colorSetLabel = "BlackBackgroundImperialFlashing"; break;
				case 73: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXWhite, vibrantColorCombos.ImperialFXcolors }; colorSetLabel = "WhiteBackgroundImperial"; break;
				case 74: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXBlack, vibrantColorCombos.FireFXcolors }; colorSetLabel = "BlackBackgroundFirey"; break;
				case 75: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXBlack, vibrantColorCombos.FireFXcolorsReverse }; colorSetLabel = "BlackBackgroundFireyFlashing"; break;
				case 76: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXBlack, vibrantColorCombos.MexicanFXcolorsReverse }; colorSetLabel = "BlackBackgroundMexicanFlashing"; break;
				case 77: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXWhite, vibrantColorCombos.MexicanFXcolors }; colorSetLabel = "WhiteBackgroundMexican"; break;
				case 78: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXBlack, vibrantColorCombos.MexicanLongFXcolorsReverse }; colorSetLabel = "BlackBackgroundMexicanLongFlashing"; break;
				case 79: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXWhite, vibrantColorCombos.MexicanLongFXcolors }; colorSetLabel = "WhiteBackgroundMexicanLong"; break;
				case 80: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXBlack, vibrantColorCombos.EBayFXcolorsReverse }; colorSetLabel = "BlackBackgroundEBayFlashing"; break;
				case 81: colorSet = new Color[][]{ vibrantColorCombos.OlympicsColorsFXColorsReverse, vibrantColorCombos.DoubleFXBlack }; colorSetLabel = "OlympicsFlashingColorsBlackText"; break;
				case 82: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXBlack, vibrantColorCombos.RoyalColorsFXColorsReverse }; colorSetLabel = "BlackBackgroundRoyalFlashingColors"; break;
				case 83: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXWhite, vibrantColorCombos.RoyalColorsFXColors }; colorSetLabel = "WhiteBackgroundRoyalColors"; break;
				case 84: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXBlack, vibrantColorCombos.OlympicsColorsFXColorsReverse }; colorSetLabel = "BlackBackgroundOlympicsFlashingColors"; break;
				case 85: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXBlack, vibrantColorCombos.OlympicsColorsFXColors }; colorSetLabel = "BlackBackgroundOlympicsColors"; break;
				case 86: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXBlack, vibrantColorCombos.ElementsColorsFXColorsReverse }; colorSetLabel = "BlackBackgroundElementsFlashingColors"; break;
				case 87: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXWhite, vibrantColorCombos.ElementsColorsFXColors }; colorSetLabel = "WhiteBackgroundElementsColors"; break;
				//Pastel & Deep Rainbow Flashers + Black & White Background
				case 88: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXBlack, vibrantColorCombos.RainbowNormalPastelReverseFX }; useAlternateBasis = true; colorSetLabel = "BlackBackgroundNormalRainbowFlashingPastel"; break;
				case 89: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXBlack, colorArrayReverser.ReverseArray( vibrantColorCombos.RainbowGoldenPastelReverseFX, true, false, true ) }; colorSetLabel = "BlackBackgroundGoldenRainbowFlashingPastel"; break;
				case 90: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXWhite, colorArrayReverser.ReverseArray( vibrantColorCombos.RainbowDeepReverseFX, true, false, true ) }; colorSetLabel = "WhiteBackgroundBrightRainbowFlashingDeep"; break;
				case 91: colorSet = new Color[][]{ { Color.color( vibrantColorCombos.RainbowNormalPastelReverseFX[0].getRed(), vibrantColorCombos.RainbowNormalPastelReverseFX[0].getGreen(), vibrantColorCombos.RainbowNormalPastelReverseFX[0].getBlue(), 0 ), Color.color( vibrantColorCombos.RainbowNormalPastelReverseFX[1].getRed(), vibrantColorCombos.RainbowNormalPastelReverseFX[1].getGreen(), vibrantColorCombos.RainbowNormalPastelReverseFX[1].getBlue(), 0 ), Color.color( vibrantColorCombos.RainbowNormalPastelReverseFX[2].getRed(), vibrantColorCombos.RainbowNormalPastelReverseFX[2].getGreen(), vibrantColorCombos.RainbowNormalPastelReverseFX[2].getBlue(), 0 ), Color.color( vibrantColorCombos.RainbowNormalPastelReverseFX[3].getRed(), vibrantColorCombos.RainbowNormalPastelReverseFX[3].getGreen(), vibrantColorCombos.RainbowNormalPastelReverseFX[3].getBlue(), 0 ), Color.color( vibrantColorCombos.RainbowNormalPastelReverseFX[4].getRed(), vibrantColorCombos.RainbowNormalPastelReverseFX[4].getGreen(), vibrantColorCombos.RainbowNormalPastelReverseFX[4].getBlue(), 0 ), Color.color( vibrantColorCombos.RainbowNormalPastelReverseFX[5].getRed(), vibrantColorCombos.RainbowNormalPastelReverseFX[5].getGreen(), vibrantColorCombos.RainbowNormalPastelReverseFX[5].getBlue(), 0 ), Color.color( vibrantColorCombos.RainbowNormalPastelReverseFX[6].getRed(), vibrantColorCombos.RainbowNormalPastelReverseFX[6].getGreen(), vibrantColorCombos.RainbowNormalPastelReverseFX[6].getBlue(), 0 ) }, vibrantColorCombos.RainbowNormalPastelReverseFX }; colorSetLabel = "ClearBackgroundNormalRainbowFlashingPastel"; break;
				//case 91: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXClear, vibrantColorCombos.RainbowNormalPastelReverseFX }; colorSetLabel = "ClearBackgroundNormalRainbowFlashingPastel";
				//With Actual Spectrum Showing Off Special Transparent Color Ends
				case 92: colorSet = new Color[][]{ vibrantColorCombos.ActualSpectra, vibrantColorCombos.ActualSpectraComplimentPastel }; useAlternateBasis = true; colorSetLabel = "ActualSpectraVisual"; break;//colorsFactor = videoSequenceLoopQuantity * 8 / 10; or opacityBefore = -7/8; opacityAfter = ( 15/7 - 7/8 ); break;
				case 93: colorSet = new Color[][]{ vibrantColorCombos.ActualSpectra, vibrantColorCombos.ActualSpectraComplimentDeep }; useAlternateBasis = true; colorSetLabel = "ActualSpectraDeep"; break;//colorsFactor = videoSequenceLoopQuantity * 8 / 10; or opacityBefore = -7/8; opacityAfter = ( 15/7 - 7/8 ); break;
				case 94: colorSet = new Color[][]{ vibrantColorCombos.ActualSpectraGolden, vibrantColorCombos.ActualSpectraGoldenComplimentPastel }; useAlternateBasis = true; colorSetLabel = "ActualSpectraGolden"; break;//colorsFactor = videoSequenceLoopQuantity * 8 / 10; or opacityBefore = -7/8; opacityAfter = ( 15/7 - 7/8 ); break;
				case 95: colorSet = new Color[][]{ vibrantColorCombos.ActualSpectraBright, vibrantColorCombos.ActualSpectraComplimentDeep }; useAlternateBasis = true; colorSetLabel = "ActualSpectraBright"; break;//colorsFactor = videoSequenceLoopQuantity * 8 / 10; or opacityBefore = -7/8; opacityAfter = ( 15/7 - 7/8 ); break;
				case 96: colorSet = new Color[][]{ vibrantColorCombos.ActualSpectraPastel, vibrantColorCombos.ActualSpectraComplimentNormal }; colorSetLabel = "PastelSpectraNormal"; break;//colorsFactor = videoSequenceLoopQuantity * 8 / 10; or opacityBefore = -7/8; opacityAfter = ( 15/7 - 7/8 ); break;
				case 97: colorSet = new Color[][]{ vibrantColorCombos.ActualSpectraGoldenPastel, vibrantColorCombos.ActualSpectraComplimentGolden }; colorSetLabel = "PastelSpectraGoldenPastel"; break;//colorsFactor = videoSequenceLoopQuantity * 8 / 10; or opacityBefore = -7/8; opacityAfter = ( 15/7 - 7/8 ); break;
				case 98: colorSet = new Color[][]{ vibrantColorCombos.ActualSpectraDeep, vibrantColorCombos.ActualSpectraComplimentNormal }; colorSetLabel = "PastelSpectraDeepNormal"; break;//colorsFactor = videoSequenceLoopQuantity * 8 / 10; or opacityBefore = -7/8; opacityAfter = ( 15/7 - 7/8 ); break;
				case 99: colorSet = new Color[][]{ vibrantColorCombos.ActualSpectraDeep, vibrantColorCombos.ActualSpectraComplimentBright }; colorSetLabel = "PastelSpectraBright"; break;//colorsFactor = videoSequenceLoopQuantity * 8 / 10; or opacityBefore = -7/8; opacityAfter = ( 15/7 - 7/8 ); break;
				case 100: colorSet = new Color[][]{ colorArrayReverser.ReverseArray( vibrantColorCombos.ActualSpectraDeep, true, false, true ), vibrantColorCombos.ActualSpectraComplimentPastel }; colorSetLabel = "DeepSpectraNormalPastel"; break;//colorsFactor = videoSequenceLoopQuantity * 8 / 10; or opacityBefore = -7/8; opacityAfter = ( 15/7 - 7/8 ); break;
				case 101: colorSet = new Color[][]{ colorArrayReverser.ReverseArray( vibrantColorCombos.ActualSpectraDeep, true, false, true ), vibrantColorCombos.ActualSpectraGoldenComplimentPastel } ; colorSetLabel = "DeepSpectraGoldenPastel"; break;//colorsFactor = videoSequenceLoopQuantity * 8 / 10; or opacityBefore = -7/8; opacityAfter = ( 15/7 - 7/8 ); break;
				case 102: colorSet = new Color[][]{ colorArrayReverser.ReverseArray( vibrantColorCombos.ActualSpectraPastel, true, false, true ), vibrantColorCombos.ActualSpectraComplimentDeep }; colorSetLabel = "PastelSpectraDeep"; break;//colorsFactor = videoSequenceLoopQuantity * 8 / 10; or opacityBefore = -7/8; opacityAfter = ( 15/7 - 7/8 ); break;
				case 103: colorSet = new Color[][]{ colorArrayReverser.ReverseArray( vibrantColorCombos.ActualSpectraGoldenPastel, true, false, true ), vibrantColorCombos.ActualSpectraComplimentDeep }; colorSetLabel = "PastelGoldenSpectraDeep"; break;//colorsFactor = videoSequenceLoopQuantity * 8 / 10; or opacityBefore = -7/8; opacityAfter = ( 15/7 - 7/8 ); break;
				case 104: colorSet = new Color[][]{ vibrantColorCombos.BornToFullHealthFXColors, vibrantColorCombos.HitTillExtinctionReverseOfBornFXColors }; useAlternateBasis = true; colorSetLabel = "BornToFullHealth"; break;//colorsFactor = videoSequenceLoopQuantity * 8 / 10; or opacityBefore = -7/8; opacityAfter = ( 15/7 - 7/8 ); break;
				case 105: colorSet = new Color[][]{ vibrantColorCombos.HitTillExtinctionReverseOfBornFXColors, vibrantColorCombos.BornToFullHealthFXColors }; useAlternateBasis = true; colorSetLabel = "HitTillExtinction"; break;//colorsFactor = videoSequenceLoopQuantity * 8 / 10; or opacityBefore = -7/8; opacityAfter = ( 15/7 - 7/8 ); break;
				case 106: colorSet = new Color[][]{ { vibrantColors.Green, vibrantColors.Purple }, { vibrantColors.Pink, vibrantColors.Magenta } }; useAlternateBasis = true; colorSetLabel = "ProofOfColorSlide"; break;//colorsFactor = videoSequenceLoopQuantity * 8 / 10; or opacityBefore = -7/8; opacityAfter = ( 15/7 - 7/8 ); break;
				case 107: colorSet = new Color[][]{ { vibrantColors.Pink, vibrantColors.Magenta }, { vibrantColors.Green, vibrantColors.Purple } }; useAlternateBasis = true; colorSetLabel = "ProofOfColorSlideFlashing"; break;//colorsFactor = videoSequenceLoopQuantity * 8 / 10; or opacityBefore = -7/8; opacityAfter = ( 15/7 - 7/8 ); break;
				case 108: colorSet = new Color[][]{ { vibrantColors.Green }, { vibrantColors.Pink }, { vibrantColors.Purple }, { vibrantColors.Orange } }; useAlternateBasis = true; colorSetLabel = "SingleColorComboTest"; break;//colorsFactor = videoSequenceLoopQuantity * 8 / 10; or opacityBefore = -7/8; opacityAfter = ( 15/7 - 7/8 ); break;
				case 109: colorSet = new Color[][]{ vibrantColorCombos.FwaClensing, vibrantColorCombos.FwaClensingReverse }; useAlternateBasis = true; colorSetLabel = "FwaClensing"; break;
				case 110: colorSet = new Color[][]{ vibrantColorCombos.FwaClensingReverse, vibrantColorCombos.FwaClensing }; useAlternateBasis = true; colorSetLabel = "FwaClensingFlashing"; break;
				case 111: colorSet = new Color[][]{ vibrantColorCombos.AquaColorsFXColors, vibrantColorCombos.AquaColorsFXColorsReverse }; useAlternateBasis = true; colorSetLabel = "Aqua"; break;
				case 112: colorSet = new Color[][]{ vibrantColorCombos.AquaColorsFXColorsReverse, vibrantColorCombos.AquaColorsFXColors }; useAlternateBasis = false; colorSetLabel = "AquaFlashing"; break;
				case 113: colorSet = new Color[][]{ vibrantColorCombos.OceanColorsFXColors, vibrantColorCombos.OceanColorsFXColorsReverse }; useAlternateBasis = true; colorSetLabel = "Ocean"; break;
				case 114: colorSet = new Color[][]{ vibrantColorCombos.OceanColorsFXColorsReverse, vibrantColorCombos.OceanColorsFXColors }; useAlternateBasis = false; colorSetLabel = "OceanFlashing"; break;
				case 115: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXBlack, vibrantColorCombos.AquaColorsFXColors }; useAlternateBasis = true; colorSetLabel = "BlackBackgroundAqua"; break;
				case 116: colorSet = new Color[][]{ vibrantColorCombos.DoubleFXWhite, vibrantColorCombos.AquaColorsFXColorsReverse }; useAlternateBasis = false; colorSetLabel = "WhiteBackgroundAquaFlashing"; break;
				
				
				}
				//if ( repeatFactor < 0 ) useAlternateBasis = !useAlternateBasis;
				switch (basisImageViewIndex)
				{
				case 0: basisIndexChoiceText = "Buddhism"; break;
				case 1: basisIndexChoiceText = "MagiElite"; break;
				case 2: basisIndexChoiceText = "FwaSplashLogo"; break;
				case 3: basisIndexChoiceText = "FwaFlagSplashLogo"; break;
				case 4: basisIndexChoiceText = "RainbowHorizontal"; break;
				case 5: basisIndexChoiceText = "OrigionalDiagnostics"; if ( completeRainbowFirmSystemDemoVideo && b > -1 ) b = numberOfDiagnosticsSecondaryIndexies; break;
				case 6: basisIndexChoiceText = "RainbowClock"; break;
				case 7: basisIndexChoiceText = "RainbowRing"; break;
				case 8: basisIndexChoiceText = "RainbowStrobe"; break;
				case 9: basisIndexChoiceText = "RainbowSpiral"; break;
				case 10: basisIndexChoiceText = "RainbowCheapFractal"; break;
				case 11: basisIndexChoiceText = "Pattern2DFullSelector"; if ( completeRainbowFirmSystemDemoVideo && b > -1 ) b = numberOfDiagnosticsSecondaryIndexies; break;
				case 12: basisIndexChoiceText = "RainbowExponentiator"; break;
				case 13: basisIndexChoiceText = "RainbowDoubleExponentiator"; break;
				case 14: basisIndexChoiceText = "DiagnosticsOfRainbowSplashAndPostPattern2D"; break;
				case 15: basisIndexChoiceText = "DiagnosticsOfRainbowPattern2D"; break;
				case 16: basisIndexChoiceText = "DiagnosticsOfRainbowPattern2DcolorMovementDynamics"; break;
				case 17: basisIndexChoiceText = "DiagnosticsOfRainbowPattern2DstillMovementDynamics"; break;
				case 18: basisIndexChoiceText = "DiagnosticsOfRainbowPattern2DdoubleMovementDynamics"; break;
				case 19: basisIndexChoiceText = "DiagnosticsOfRainbowGlobalSelector"; break;
				case 20: basisIndexChoiceText = "GlobalSelector"; if ( completeRainbowFirmSystemDemoVideo && b > -1 ) b = numberOfDiagnosticsSecondaryIndexies; break;
				case 21: basisIndexChoiceText = "RainbowFlasher"; break;
				case 22: basisIndexChoiceText = "DiagnosticsOfRainbowPostPattern2D"; break;
				case 23: basisIndexChoiceText = "PostPattern2DSelector"; if ( completeRainbowFirmSystemDemoVideo && b > -1 ) b = numberOfDiagnosticsSecondaryIndexies; break;
				case 24: basisIndexChoiceText = "FwaFlagLogo"; break;
				case 25: basisIndexChoiceText = "RainbowFanOutClock"; break;
				case 26: basisIndexChoiceText = "DiagnosticsOfRainbowPattern2DfullMovementDynamics"; break;
				case 27: basisIndexChoiceText = "RainbowKaladaScope"; break;
				case 28: basisIndexChoiceText = "DiagnosticsOfRainbowSoftColorTransparencySliderTooSimilar"; if ( b > -1 ) b = numberOfDiagnosticsSecondaryIndexies; break;
				case 29: basisIndexChoiceText = "RainbowFirmFullSystemDisplay"; break;
				case 30: basisIndexChoiceText = "RainbowFirmFullColorDisplay"; if ( completeRainbowFirmSystemDemoVideo && b > 0 ) b = numberOfDiagnosticsSecondaryIndexies; break;
				case 31: basisIndexChoiceText = "DiagnosticsOfRainbowDisplayType"; break;
				case 32: basisIndexChoiceText = "DiagnosticsOfRainbowBackGroundTextFadeIn"; break;
				case 33: basisIndexChoiceText = "DiagnosticsOfRainbowBooleanSwitchControl"; break;
				case 34: basisIndexChoiceText = "BattleInterFace"; break;
				case 35: basisIndexChoiceText = "ClearForDevUser"; if ( completeRainbowFirmSystemDemoVideo && b > -1 ) b = numberOfDiagnosticsSecondaryIndexies; break;
				}
				if ( completeRainbowFirmSystemDemoVideo || basisImageViewIndex == 14 || ( basisImageViewIndex >= 16 && basisImageViewIndex <= 20 ) || basisImageViewIndex == 26 || basisImageViewIndex > 28  )
				{
					switch (basisImageViewIndex)
					{
					case 0: indexOfPRforSplash = 0; break;
					case 1: indexOfPRforSplash = 1; break;
					case 2: indexOfPRforSplash = 2; break;
					}
					if ( !useAlternateBasis )
					{
						finalBackgroundBasisCorrectedImagePR = finalFitImageArray[6].getPixelReader();
						finalBasisCorrectedImagePR = finalFitImageArray[7].getPixelReader();
						//CorrectiveFitImageArray.FwaFlagLogoBasis = finalFitImageArray[7];
						//CorrectiveFitImageArray.FwaFlagLogoBackgroundBasis = finalFitImageArray[6];
					}
					else
					{
						finalBackgroundBasisCorrectedImagePR = finalFitImageArray[8].getPixelReader();
						finalBasisCorrectedImagePR = finalFitImageArray[9].getPixelReader();
						//CorrectiveFitImageArray.FwaFlagLogoBasis = finalFitImageArray[9];
						//CorrectiveFitImageArray.FwaFlagLogoBackgroundBasis = finalFitImageArray[8];
					}// */
				}
				else
					if ( basisImageViewIndex == 3 || basisImageViewIndex == 24 )
						if ( !useAlternateBasis )
						{
							finalBackgroundBasisCorrectedImagePR = finalFitImageArray[0].getPixelReader();
							finalBasisCorrectedImagePR = finalFitImageArray[1].getPixelReader();
							//CorrectiveFitImageArray.FwaFlagLogoBasis = finalFitImageArray[1];
							//CorrectiveFitImageArray.FwaFlagLogoBackgroundBasis = finalFitImageArray[0];
						}
						else
						{
							finalBackgroundBasisCorrectedImagePR = finalFitImageArray[2].getPixelReader();
							finalBasisCorrectedImagePR = finalFitImageArray[3].getPixelReader();
							//CorrectiveFitImageArray.FwaFlagLogoBasis = finalFitImageArray[3];
							//CorrectiveFitImageArray.FwaFlagLogoBackgroundBasis = finalFitImageArray[2];
						}
					else//If This Is Hit And Used Later On There Is A Definite Problem
					{
						finalBackgroundBasisCorrectedImagePR = finalFitImageArray[0].getPixelReader();
						finalBasisCorrectedImagePR = finalFitImageArray[0].getPixelReader();
						////CorrectiveFitImageArray.FwaFlagLogoBasis = finalFitImageArray[0];
						////CorrectiveFitImageArray.FwaFlagLogoBackgroundBasis = finalFitImageArray[0];
					}
				if ( basisImageViewIndex == 20 || basisImageViewIndex == 31 || basisImageViewIndex == 32 || basisImageViewIndex == 33 )
					if ( selection == "RainbowBuddhism" ) currentBasisViewIndex = 0;
					else if ( selection == "RainbowMagiElite" ) currentBasisViewIndex = 1;
					else if ( selection == "RainbowFwaLogoSplash" ) currentBasisViewIndex = 2;
					else if ( selection == "RainbowFwaFlagLogo" || selection == "RainbowFwaFlagLogoSplash" )
						if ( !useAlternateBasis )
							currentBasisViewIndex = 3;
						else currentBasisViewIndex = 4;
					else
						currentBasisViewIndex = 0;
				for ( int w = 0; w < 3; w++)
					if ( colorSet != null && colorSet.length > w && colorSet[w] != null && colorSet[w].length == 1 && colorSet[w][0] != null )
						//System.out.println("Got To ColorCombo Color Duplicator. w: " + w );
						colorSet[w] = new Color[]{ colorSet[w][0], colorSet[w][0] };
				
				tertiaryWritableImage = (WritableImage) tertiaryImageView.getImage();
				tertiaryStage.sizeToScene();
				tertiaryStage.setWidth( Dim.getWidth() );
				tertiaryStage.setHeight( Dim.getHeight() );
				tertiaryStage.setFullScreen(tertiaryIsFullScreened);
				tertiaryStage.show();
				tertiaryStage.setFullScreen(tertiaryIsFullScreened);
				//tertiaryBufferPictureForWritableImage = tertiaryWritableImage;
				try { Thread.sleep((long)threadThrottle*3640);//tertiaryThread.sleep(4879);//4879//10000
				} catch (InterruptedException e) {
					System.out.println("Interrupted.");
				}// */
				
				tertiaryXslider = 0;//teenyTinyItsyWitzyBit;
				//thirdStackPaneForBasis.getChildren().removeAll();
				//thirdStackPaneForBackground.getChildren().removeAll();
				while ( tertiaryXslider <= videoSequenceLoopQuantity + sliderInterval / 2 )//videoSequenceLoopQuantity )//fullScrollCycle / 4000 )// For Scrolling; tertiaryXslider < fullScrollCycle / 4000 . For MagiElite: videoSequenceLoopQuantity / 10)//for (tertiaryXslider = 0; tertiaryXslider <= 0.175979734764 * cy; tertiaryXslider++)
				{//0.175979734764 *
					//tertiaryXslider = videoSequenceLoopQuantity;//For Encoding Just The Last Frame
					//frameIndex = 0;//(int)( Math.round( videoFrameQuantity * tertiaryXslider / videoSequenceLoopQuantity ) );
					//tertiaryXslider = videoSequenceLoopQuantity;//For Testing Final Frame Only !!
					//donePixelWriting = false;
					/*Timeline timelineForPixelWriting = new Timeline();
				timelineForPixelWriting.setCycleCount( (int)( videoSequenceLoopQuantity + 1 ) );
				KeyFrame rainbowSoftFrameMaker = new KeyFrame(Duration.seconds(8.88),
						new EventHandler<ActionEvent>()
				{//*/
					tertiaryStage.show();
					tertiaryStage.setFullScreen(tertiaryIsFullScreened);
					//tertiaryBufferPictureForWritableImage = tertiaryWritableImage;
					try { Thread.sleep((long)threadThrottle*3640);//tertiaryThread.sleep(4879);//4879//10000
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// */
					
					tertiaryImageView.setImage(tertiaryWritableImage);// */
					//frameIndex = (int)( Math.round( videoFrameQuantity * tertiaryXslider / videoSequenceLoopQuantity ) );
					try { Thread.sleep((long)threadThrottle*3640);//tertiaryThread.sleep(4879);//4879//10000
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// */
					Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*4689);//tertiaryThread.sleep(2489);
					} catch (InterruptedException eEight) {
						System.out.println("Interrupted.");
					} } ) ;// */
					tertiaryStage.show();
					tertiaryStage.setFullScreen(tertiaryIsFullScreened);
					/////thirdSceneForWriting = new Scene(thirdStackPaneForWriting);
					//backGroundStackPane.setStyle("-fx-background-color: black;");//"-fx-background-color: #000000;");//Gives Black Background Color Or Any Hex Color Number Manually Put In Here And Only Here
					//backGroundStackPane.setOpacity(1);//Needed Also For Background Color To Apply To All Batch Productions
					//thirdSceneForWriting.setRoot(backGroundStackPane);
					//tertiaryStage.setScene(thirdStackPaneForWriting.getScene());
					tertiaryStage.sizeToScene();
					tertiaryStage.setWidth( Dim.getWidth() );
					tertiaryStage.setHeight( Dim.getHeight() );
					try { Thread.sleep((long)threadThrottle*5440);//tertiaryThread.sleep(1000);
					} catch (InterruptedException eEight) {
						System.out.println("Interrupted.");
					}// */
					Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*45000);//tertiaryThread.sleep(4879);//4879//10000
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					} } ) ;// */
					//double quadentaryXslider = startingPoint;
					//while ( quadentaryXslider < videoSequenceLoopQuantity )
					//{
					/*donePixelWriting = false;
		while ( !donePixelWriting )
		{// */
					//if ( tertiaryXslider > -1 && tertiaryXslider <= 1 || tertiaryXslider > 1730 && tertiaryXslider <= 1731 || tertiaryXslider > 3460 && tertiaryXslider <= 3461 || tertiaryXslider > 5190 && tertiaryXslider <= 5191 || tertiaryXslider > 6920 && tertiaryXslider <= 6921 )
					//{
					//}
					/*Platform.runLater( () -> { tertiaryCurrentBrowserImageView.setImage( thirdBrowser.snapshot( snapshotParameters, tertiaryBufferPicture ) );
						 tertiaryCurrentBrowserImage = tertiaryCurrentBrowserImageView.getImage();
						 tertiaryCurrentBrowserImagePR = tertiaryCurrentBrowserImage.getPixelReader(); } );// */
					/*tertiaryStage.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>()
	{
	@Override
	public void handle(MouseEvent event) 
	{
		System.exit(0);
	}
	});
	try { tertiaryThread.sleep(44);
	} catch (InterruptedException e) {
	System.out.println("Interrupted.");
	}// */

					//tertiaryStage.setX(0);
					//tertiaryStage.setY(0);

					//tertiaryStage.setTitle("Simple3D FX");
					//tertiaryStage.setScene(thirdScene[0]);
					//tertiaryStage.setWidth(800);
					//tertiaryStage.setHeight(650);
					//tertiaryStage.show();

					//ObservableList<Node> CurrentPanes = thirdStackPane[(int)( videoFrameQuantity * ( tertiaryXslider - startingPoint ) / videoSequenceLoopQuantity ) + 1].getChildren();

					//bufferedImage = SwingFXUtils.fromFXImage(thirdScene[0].snapshot( tertiaryWritableImage ), bufferedImage );


					/*try { tertiaryThread.sleep(4000);
					} catch (InterruptedException e) {
					System.out.println("Interrupted.");
					}// */

					//textColorToOverlay = vibrantColors.Black; backgroundColorToOverlay = vibrantColors.White;//textColorToOverlay = vibrantColors.White, backgroundColorToOverlay = vibrantColors.Black
					/*if ( tertiaryXslider < videoSequenceLoopQuantity / 2. - teenyTinyItsyWitzyBit )//For Making C:\Users\AllAV\OneDrive\FWA Website\pixies.zone\School\Pictures\PixiePatentBestTextRead\InitialRunOfText-BackgroundColorFader\
				{
					textColorOverlayRatio = 1 - tertiaryXslider / ( videoSequenceLoopQuantity / 2 ); backgroundColorOverlayRatio = tertiaryXslider / ( videoSequenceLoopQuantity / 2 );
				}
				else if ( tertiaryXslider <= videoSequenceLoopQuantity / 2. + teenyTinyItsyWitzyBit )//tertiaryXslider <= videoSequenceLoopQuantity / 2. + .001
				{	
					textColorToOverlay = vibrantColors.White; backgroundColorToOverlay = vibrantColors.Black;
				}
				else
				{
					textColorOverlayRatio = tertiaryXslider / ( videoSequenceLoopQuantity / 2 ) - 1 ; backgroundColorOverlayRatio = 2 - tertiaryXslider / ( videoSequenceLoopQuantity / 2 );
				}// */ // Above For White To Black Flashing In Middle Of LoopQuantity. Below Is For Streamlined Version That Fades To RainbowForDark Flipped With RainbowForLight In Middle Of Loop Then To White Text.
					/*if ( tertiaryXslider < videoSequenceLoopQuantity / 4 )//For Making C:\Users\AllAV\OneDrive\FWA Website\pixies.zone\School\Pictures\PixiePatentBestTextRead\InitialRunOfText-BackgroundColorFader\
				{
					textColorOverlayRatio = 1 - tertiaryXslider / ( videoSequenceLoopQuantity / 4 ); backgroundColorOverlayRatio = tertiaryXslider / ( videoSequenceLoopQuantity / 4 );
				}
				else if ( tertiaryXslider < videoSequenceLoopQuantity / 2. - teenyTinyItsyWitzyBit )//For Making C:\Users\AllAV\OneDrive\FWA Website\pixies.zone\School\Pictures\PixiePatentBestTextRead\InitialRunOfText-BackgroundColorFader\
				{
					textColorOverlayRatio = 0; backgroundColorOverlayRatio = 2 - tertiaryXslider / ( videoSequenceLoopQuantity / 4 );
				}
				else if ( tertiaryXslider <= videoSequenceLoopQuantity / 2. + teenyTinyItsyWitzyBit )//tertiaryXslider <= videoSequenceLoopQuantity / 2. + .001
				{
					textColorToOverlay = vibrantColors.White; backgroundColorToOverlay = vibrantColors.Black;
				}
				else if ( tertiaryXslider < 3 * videoSequenceLoopQuantity / 4 )
				{
					textColorOverlayRatio = 0; backgroundColorOverlayRatio = tertiaryXslider / ( videoSequenceLoopQuantity / 4 ) - 2;
				}
				else
				{
					textColorOverlayRatio = tertiaryXslider / ( videoSequenceLoopQuantity / 4 ) - 3; backgroundColorOverlayRatio = 4 - tertiaryXslider / ( videoSequenceLoopQuantity / 4 );
				}// */ //Below Full Trick Fade In Like Shown In Code With RainbowedWhite Text To RainbowedBlack Text
					/*if ( tertiaryXslider < videoSequenceLoopQuantity / 6 )//For Making C:\Users\AllAV\OneDrive\FWA Website\pixies.zone\School\Pictures\PixiePatentBestTextRead\InitialRunOfText-BackgroundColorFader\
				{
					textColorOverlayRatio = 1 - tertiaryXslider / ( videoSequenceLoopQuantity / 6 ); backgroundColorOverlayRatio = tertiaryXslider / ( videoSequenceLoopQuantity / 6 );
				}
				else if ( tertiaryXslider < videoSequenceLoopQuantity / 3 )//For Making C:\Users\AllAV\OneDrive\FWA Website\pixies.zone\School\Pictures\PixiePatentBestTextRead\InitialRunOfText-BackgroundColorFader\
				{
					textColorOverlayRatio = 0; backgroundColorOverlayRatio = 2 - tertiaryXslider / ( videoSequenceLoopQuantity / 6 );
				}
				else if ( tertiaryXslider < videoSequenceLoopQuantity / 2 )
				{
					textColorOverlayRatio = tertiaryXslider / ( videoSequenceLoopQuantity / 6 ) - 2;
					backgroundColorOverlayRatio = tertiaryXslider / ( videoSequenceLoopQuantity / 6 ) - 2;
					colorSlider.ColorSliderFunction( 1, tertiaryXslider / ( videoSequenceLoopQuantity / 6 ) - 2, vibrantColors.Black, vibrantColors.Pink);
					colorSliderTwo.ColorSliderFunction( 1, tertiaryXslider / ( videoSequenceLoopQuantity / 6 ) - 2, vibrantColors.White, vibrantColors.Brown);
					textColorToOverlay = colorSlider.ToFXColor(); backgroundColorToOverlay = colorSliderTwo.ToFXColor();
				}
				else if ( tertiaryXslider < 2 * videoSequenceLoopQuantity / 3 )
				{
					textColorOverlayRatio = 4 - tertiaryXslider / ( videoSequenceLoopQuantity / 6 );
					backgroundColorOverlayRatio = 4 - tertiaryXslider / ( videoSequenceLoopQuantity / 6 );
					colorSlider.ColorSliderFunction(1, tertiaryXslider / ( videoSequenceLoopQuantity / 6 ) - 3, vibrantColors.Pink, vibrantColors.White);
					colorSliderTwo.ColorSliderFunction(1, tertiaryXslider / ( videoSequenceLoopQuantity / 6 ) - 3, vibrantColors.Brown, vibrantColors.Black);
					textColorToOverlay = colorSlider.ToFXColor(); backgroundColorToOverlay = colorSliderTwo.ToFXColor();
				}
				else if ( tertiaryXslider < 5 * videoSequenceLoopQuantity / 6 )
				{
					textColorOverlayRatio = 0; backgroundColorOverlayRatio = tertiaryXslider / ( videoSequenceLoopQuantity / 6 ) - 4;
				}
				else
				{
					textColorOverlayRatio = tertiaryXslider / ( videoSequenceLoopQuantity / 6 ) - 5; backgroundColorOverlayRatio = 6 - tertiaryXslider / ( videoSequenceLoopQuantity / 6 );
				}// */ //Below Full Trick Fade In Like Shown In Code With RainbowedWhite Text To Pink Transisition Rainbow Text To RainbowedBlack Text
					/*if ( tertiaryXslider < videoSequenceLoopQuantity / 8 )//For Making C:\Users\AllAV\OneDrive\FWA Website\pixies.zone\School\Pictures\PixiePatentBestTextRead\InitialRunOfText-BackgroundColorFader\
				{
					textColorOverlayRatio = 1 - tertiaryXslider / ( videoSequenceLoopQuantity / 8 ); backgroundColorOverlayRatio = tertiaryXslider / ( videoSequenceLoopQuantity / 8 );
				}
				else if ( tertiaryXslider < videoSequenceLoopQuantity / 4 )//For Making C:\Users\AllAV\OneDrive\FWA Website\pixies.zone\School\Pictures\PixiePatentBestTextRead\InitialRunOfText-BackgroundColorFader\
				{
					textColorOverlayRatio = 0; backgroundColorOverlayRatio = 2 - tertiaryXslider / ( videoSequenceLoopQuantity / 8 );
				}
				else if ( tertiaryXslider < 3 * videoSequenceLoopQuantity / 8 )
				{
					textColorOverlayRatio = tertiaryXslider / ( videoSequenceLoopQuantity / 8 ) - 2;
					backgroundColorOverlayRatio = tertiaryXslider / ( videoSequenceLoopQuantity / 8 ) - 2;
					//colorSlider.ColorSliderFunction( 1, tertiaryXslider / ( videoSequenceLoopQuantity / 8 ) - 2, vibrantColors.Black, vibrantColors.Pink);
					//colorSliderTwo.ColorSliderFunction( 1, tertiaryXslider / ( videoSequenceLoopQuantity / 8 ) - 2, vibrantColors.White, vibrantColors.Brown);
					textColorToOverlay = colorSlider.ColorSliderFunction( 1, tertiaryXslider / ( videoSequenceLoopQuantity / 8 ) - 2, vibrantColors.Black, vibrantColors.Pink); backgroundColorToOverlay = colorSliderTwo.ColorSliderFunction( 1, tertiaryXslider / ( videoSequenceLoopQuantity / 8 ) - 2, vibrantColors.White, vibrantColors.Brown);
				}
				else if ( tertiaryXslider < videoSequenceLoopQuantity / 2 )
				{
					textColorOverlayRatio = 4 - tertiaryXslider / ( videoSequenceLoopQuantity / 8 );
					backgroundColorOverlayRatio = 4 - tertiaryXslider / ( videoSequenceLoopQuantity / 8 );
					//colorSlider.ColorSliderFunction(1, tertiaryXslider / ( videoSequenceLoopQuantity / 8 ) - 3, vibrantColors.Pink, vibrantColors.White);
					//colorSliderTwo.ColorSliderFunction(1, tertiaryXslider / ( videoSequenceLoopQuantity / 8 ) - 3, vibrantColors.Brown, vibrantColors.Black);
					textColorToOverlay = colorSlider.ColorSliderFunction(1, tertiaryXslider / ( videoSequenceLoopQuantity / 8 ) - 3, vibrantColors.Pink, vibrantColors.White); backgroundColorToOverlay = colorSliderTwo.ColorSliderFunction(1, tertiaryXslider / ( videoSequenceLoopQuantity / 8 ) - 3, vibrantColors.Brown, vibrantColors.Black);
				}
				else if ( tertiaryXslider < 5 * videoSequenceLoopQuantity / 8 )
				{
					textColorOverlayRatio = 0; backgroundColorOverlayRatio = tertiaryXslider / ( videoSequenceLoopQuantity / 8 ) - 4;
				}
				else if ( tertiaryXslider < 3 * videoSequenceLoopQuantity / 4 )
				{
					textColorOverlayRatio = tertiaryXslider / ( videoSequenceLoopQuantity / 8 ) - 5; backgroundColorOverlayRatio = 6 - tertiaryXslider / ( videoSequenceLoopQuantity / 8 );
				}
				else if ( tertiaryXslider < 7 * videoSequenceLoopQuantity / 8 )
				{
					//colorSlider.ColorSliderFunction( 1, tertiaryXslider / ( videoSequenceLoopQuantity / 8 ) - 6, vibrantColors.White, vibrantColors.ShitBrown);
					textColorToOverlay = colorSlider.ColorSliderFunction( 1, tertiaryXslider / ( videoSequenceLoopQuantity / 8 ) - 6, vibrantColors.White, vibrantColors.ShitBrown);//Use .Magenta Instead Of ShitBrown I Think For Total Reverse Visual Of This System And Use Hynosis Spiral From Above
				}//To Hypno During Dark-Realafy With Black Background-Admit With White Background-Then-DeHypnotize With Just Reversal Of A Whole Reverse Still Or Color Or Double Slider Then Do A Whole Reverse Cycle Of The Same, With Whatever You Did If You Were Stopping At Double Slider Firey Moments For Rage, Imperial To Burst Thier Bubble
				else//And For Less Advanced Jobs Uses PinkBrown Transitional Code Above And For Learning Simply Black And White Flipping Using Other Patterns Is Fine Imperial Can Be Used For Things They Won't Get Until Later But Always Tell Them Of Buddhism If Applicable Or Use Buddhist Sayings In Video As That Works Well Enough
				{//And Will Work Better With Time. Anyways More Shrunken Like Or 16x Rainbow Clock Good For Imperial Bubble Bursters And For Firey Use NumberOfSpirals = 2 to 8 Experiment At 24 For Single Run Jobs And For Long Videos Test At 192 For Assuradness, If You Have To Test For Longer Combine Later With VSDC Free Video Editor
					//colorSlider.ColorSliderFunction( 1, tertiaryXslider / ( videoSequenceLoopQuantity / 8 ) - 7, vibrantColors.ShitBrown, vibrantColors.Black);
					textColorToOverlay = colorSlider.ColorSliderFunction( 1, tertiaryXslider / ( videoSequenceLoopQuantity / 8 ) - 7, vibrantColors.ShitBrown, vibrantColors.Black);//Use .Magenta Instead Of ShitBrown I Think For Total Reverse Visual
				}// */ //
					//textColorToOverlayCurrent = Color.color(textColorToOverlay.getRed(),textColorToOverlay.getGreen(),textColorToOverlay.getBlue(), textColorOverlayRatio * textColorToOverlay.getOpacity() );
					//backgroundColorToOverlayCurrent = Color.color(backgroundColorToOverlay.getRed(),backgroundColorToOverlay.getGreen(),backgroundColorToOverlay.getBlue(), backgroundColorOverlayRatio * backgroundColorToOverlay.getOpacity() );// */

					/*try { Thread.sleep((long)threadThrottle*600);
				} catch (InterruptedException e) {
				System.out.println("Interrupted.");
				}// */

					//System.out.println("Worked Till After 0.044 s third Wait");
					//tertiaryStage.setScene(thirdScene[(int)( videoFrameQuantity * ( tertiaryXslider - startingPoint ) / videoSequenceLoopQuantity ) + 1]);

					//thirdStackPane.getChildren().remove(tertiaryImageView);
					tertiaryStage.hide();
					System.out.println("Got To Primary for Statement at a: " + a + " a ends Before: " + numberOfDiagnosticsIndexies + " basisIndexChoiceText: " + basisIndexChoiceText + " b: " + b + " b ends Before: " + numberOfDiagnosticsSecondaryIndexies + " Frame: " + (int)Math.round( ( videoFrameQuantity * tertiaryXslider / videoSequenceLoopQuantity ) + 1 ) + " Of " + videoFrameQuantityForComment );
					//Platform.runLater( () -> {
					for ( int y = 0; y < Dim.getHeight(); y++) //Dim.getWidth(); x++)//Comment Out Here For Circular Rainbow
					{
						//System.out.println("y = " + y);
						for ( int x = 0; x < Dim.getWidth(); x++)
						{
							//System.out.println("x = " + x);
							/*try { Thread.sleep((long)threadThrottle*(long)0.01);//tertiaryThread.sleep(4879);//4879//10000
						} catch (InterruptedException e) {
							System.out.println("Interrupted.");
						}// */
							//try {
							//tertiaryPW.setColor( x, y, diagnostics.ColorTooSimilar( x, y, tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity ) );
							//tertiaryPW.setColor( x, y, diagnostics.ColorSlider( x, y, tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, 6 * tertiaryXslider / videoSequenceLoopQuantity, (int)( tertiaryXslider / sliderInterval ) ) );
							//tertiaryPW.setColor( x, y, diagnostics.TransparencySlider( x, y, tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, 6 * tertiaryXslider / videoSequenceLoopQuantity, (int)( tertiaryXslider / sliderInterval ), .5, 1 ) );	
							//tertiaryPW.setColor( x, y, diagnostics.RainbowSoftColor( x, y, tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, 6 * tertiaryXslider / videoSequenceLoopQuantity, (int)( tertiaryXslider / sliderInterval ), vibrantColorCombos.ImperialFXcolors, vibrantColorCombos.ImperialColorsNum, 0, 1 ).invert() );
							/*videoSplittingQuantity = 4;
						if ( tertiaryXslider < videoSequenceLoopQuantity / videoSplittingQuantity )
						diagnostics.ColorTooSimilar( x, y, tertiaryXslider * thirdScreen.getBounds().getWidth() * videoSplittingQuantity / videoSequenceLoopQuantity );
						else if ( tertiaryXslider < 2 * videoSequenceLoopQuantity / videoSplittingQuantity )
						diagnostics.ColorSlider( x, y, tertiaryXslider * thirdScreen.getBounds().getWidth() * videoSplittingQuantity / videoSequenceLoopQuantity, 6 * ( tertiaryXslider - videoSequenceLoopQuantity / videoSplittingQuantity ) * videoSplittingQuantity / videoSequenceLoopQuantity, (int)( Math.pow( 2, gradientExpontierMultiplier * ( tertiaryXslider - videoSequenceLoopQuantity / videoSplittingQuantity ) * videoSplittingQuantity / videoFrameQuantity ) - 1 ) );
						else if ( tertiaryXslider < 3 * videoSequenceLoopQuantity / videoSplittingQuantity )
						diagnostics.TransparencySlider( x, y, tertiaryXslider * thirdScreen.getBounds().getWidth() * videoSplittingQuantity / videoSequenceLoopQuantity, 6 * ( tertiaryXslider - 2 * videoSequenceLoopQuantity / videoSplittingQuantity ) * videoSplittingQuantity / videoSequenceLoopQuantity, (int)( Math.pow( 2, gradientExpontierMultiplier * ( tertiaryXslider - 2 * videoSequenceLoopQuantity / videoSplittingQuantity ) * videoSplittingQuantity / videoFrameQuantity ) - 1 ), .5, 1 );
						else
						diagnostics.RainbowSoftColor( x, y, tertiaryXslider * thirdScreen.getBounds().getWidth() * videoSplittingQuantity / videoSequenceLoopQuantity, 6 * ( tertiaryXslider - 3 * videoSequenceLoopQuantity / videoSplittingQuantity ) * videoSplittingQuantity / videoSequenceLoopQuantity, (int)( Math.pow( 2, gradientExpontierMultiplier * ( tertiaryXslider - 3 * videoSequenceLoopQuantity / videoSplittingQuantity ) * videoSplittingQuantity / videoFrameQuantity ) - 1 ), vibrantColorCombos.ImperialFXcolors, vibrantColorCombos.ImperialColorsNum, 0, 1 );// */

							/*videoSplittingQuantity = 9;
						if ( tertiaryXslider < videoSequenceLoopQuantity / videoSplittingQuantity )
						diagnostics.RainbowPattern2D( x, y, tertiaryXslider * thirdScreen.getBounds().getWidth() * videoSplittingQuantity / videoSequenceLoopQuantity, 6 * ( tertiaryXslider - 3 * videoSequenceLoopQuantity / videoSplittingQuantity ) * videoSplittingQuantity / videoSequenceLoopQuantity, (int)Math.pow( 2, ( tertiaryXslider - 3 * videoSequenceLoopQuantity / videoSplittingQuantity ) * videoSplittingQuantity / ( sliderInterval * videoFrameQuantity ) ), vibrantColorCombos.ImperialFXcolors, 0, 1 );
						else if ( tertiaryXslider < 2 * videoSequenceLoopQuantity / videoSplittingQuantity )
						diagnostics.RainbowPattern2D( x, y, tertiaryXslider * thirdScreen.getBounds().getWidth() * videoSplittingQuantity / videoSequenceLoopQuantity, 6 * ( tertiaryXslider - 3 * videoSequenceLoopQuantity / videoSplittingQuantity ) * videoSplittingQuantity / videoSequenceLoopQuantity, (int)Math.pow( 2, ( tertiaryXslider - 3 * videoSequenceLoopQuantity / videoSplittingQuantity ) * videoSplittingQuantity / ( sliderInterval * videoFrameQuantity ) ), vibrantColorCombos.ImperialFXcolors, 0, 1 );
						else if ( tertiaryXslider < 3 * videoSequenceLoopQuantity / videoSplittingQuantity )
						diagnostics.RainbowPattern2D( x, y, tertiaryXslider * thirdScreen.getBounds().getWidth() * videoSplittingQuantity / videoSequenceLoopQuantity, 6 * ( tertiaryXslider - 3 * videoSequenceLoopQuantity / videoSplittingQuantity ) * videoSplittingQuantity / videoSequenceLoopQuantity, (int)Math.pow( 2, ( tertiaryXslider - 3 * videoSequenceLoopQuantity / videoSplittingQuantity ) * videoSplittingQuantity / ( sliderInterval * videoFrameQuantity ) ), vibrantColorCombos.ImperialFXcolors, 0, 1 );
						else //9 ifs Needed
						diagnostics.RainbowPattern2D( x, y, tertiaryXslider * thirdScreen.getBounds().getWidth() * videoSplittingQuantity / videoSequenceLoopQuantity, 6 * ( tertiaryXslider - 3 * videoSequenceLoopQuantity / videoSplittingQuantity ) * videoSplittingQuantity / videoSequenceLoopQuantity, (int)Math.pow( 2, ( tertiaryXslider - 3 * videoSequenceLoopQuantity / videoSplittingQuantity ) * videoSplittingQuantity / ( sliderInterval * videoFrameQuantity ) ), vibrantColorCombos.ImperialFXcolors, 0, 1 );// */

							//} catch (IndexOutOfBoundsException e) { System.out.println("Index Out Of Bounds In Diagnostics." + e); }
							//tertiaryPW.setColor( x, y, diagnostics.ToFXColor() );
							//4444
							//LocationOfStillMovement & LocationOfColorMovement MUST BE SYNCED!!!!!!!!
							//tertiaryPW.setColor( x, y, rainbowPattern2D.SimpleCustomColor( thirdScreen.getBounds().getWidth() / imperialFXcolors.length, 0., tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, x - HalfedDim.getWidth(), thirdScreen.getBounds().getWidth() / 2., imperialFXcolors ) );

							//tertiaryPW[frameIndex].setColor( x, y, rainbowPattern2D.SimpleRainbow( thirdScreen.getBounds().getWidth(), 0., - tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, x, thirdScreen.getBounds().getWidth() ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.SimpleRainbowReverse( thirdScreen.getBounds().getWidth(), 0., - tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, x, thirdScreen.getBounds().getWidth() ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.SimpleCustomColor( thirdScreen.getBounds().getWidth(), 0., - tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, x, thirdScreen.getBounds().getWidth(), vibrantColorCombos.ImperialFXcolors ) );
							///gradientExpontierMultiplier = 7;
							//tertiaryPW.setColor( x, y, rainbowPattern2D.SimpleRainbow( thirdScreen.getBounds().getWidth(), 0., - tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, x, thirdScreen.getBounds().getWidth(), 1, (int)( Math.pow( 2, gradientExpontierMultiplier * tertiaryXslider * videoSplittingQuantity / videoFrameQuantity ) - 1 ), 1, 1, true ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.SimpleCustomColor( thirdScreen.getBounds().getWidth(), 0., - tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, x, thirdScreen.getBounds().getWidth(), 1, (int)( Math.pow( 2, gradientExpontierMultiplier * tertiaryXslider * videoSplittingQuantity / videoFrameQuantity ) - 1 ), vibrantColorCombos.ImperialFXcolors, 1, 1, true ) );
							//colorSlider.RainbowSoftColorRainbowTransparencyFunctionAdjusted( thirdScreen.getBounds().getWidth(), x - tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, 1, (int)( Math.pow( 2, gradientExpontierMultiplier * tertiaryXslider * videoSplittingQuantity / videoFrameQuantity ) - 1 ), 1, 1 ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.SimpleRainbow( thirdScreen.getBounds().getWidth(), 0., 12. * tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, x, thirdScreen.getBounds().getWidth() / 6. ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.SimpleRainbow( thirdScreen.getBounds().getWidth() / 3., 0., tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, x, thirdScreen.getBounds().getWidth() ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.SimpleRainbow( - thirdScreen.getBounds().getWidth(), 0., tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, x, - thirdScreen.getBounds().getWidth() ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.SimpleRainbow( - thirdScreen.getBounds().getWidth(), 0., tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, x, thirdScreen.getBounds().getWidth() ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.SimpleRainbow( thirdScreen.getBounds().getWidth(), 0., tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, x, - thirdScreen.getBounds().getWidth() ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.SimpleCustomColor( thirdScreen.getBounds().getWidth(), 0., tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, x, thirdScreen.getBounds().getWidth(), vibrantColorCombos.RainbowFXcolorsWNeonGreenCenter ) );

							//tertiaryPW.setColor( x, y, rainbowPattern2D.SimpleRainbow( - thirdScreen.getBounds().getWidth(), 0, 12 * tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, x, thirdScreen.getBounds().getWidth() / 6. ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.SimpleRainbow( - thirdScreen.getBounds().getWidth(), 0, 12. * tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, x, - thirdScreen.getBounds().getWidth() / 6. ) );

							//Screen Bounds Not In Alignment Yet Because Not Full Screened
							//tertiaryPW[frameIndex].setColor( x, y, rainbowPattern2D.RainbowDiskVaryated( thirdScreen.getBounds().getHeight() / 4., 0, tertiaryXslider * thirdScreen.getBounds().getHeight() / videoSequenceLoopQuantity / 4., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), thirdScreen.getBounds().getHeight() / 4., false ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowDiskVaryated( thirdScreen.getBounds().getHeight() / 4., 0, tertiaryXslider * thirdScreen.getBounds().getHeight() / videoSequenceLoopQuantity / 4., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), thirdScreen.getBounds().getHeight() / 24., false ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowDiskVaryated( thirdScreen.getBounds().getHeight() / 12., 0, tertiaryXslider * thirdScreen.getBounds().getHeight() / videoSequenceLoopQuantity / 4., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), thirdScreen.getBounds().getHeight() / 4., false ) );

							//tertiaryPW.setColor( x, y, rainbowPattern2D.SimpleRainbow( thirdScreen.getBounds().getWidth() / 7, 0, tertiaryXslider * thirdScreen.getBounds().getHeight() / videoSequenceLoopQuantity, x - HalfedDim.getWidth(), thirdScreen.getBounds().getWidth() / 2 ) );// - Locaition Flips Rainbow Like Reverse Without Green Being Replaced By Pink
							//BuildMerainbowPattern2D.RainbowDiskVaryated( thirdScreen.getBounds().getHeight() / 7, 0, tertiaryXslider * thirdScreen.getBounds().getHeight() / videoSequenceLoopQuantity / 2, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), thirdScreen.getBounds().getHeight() / 2, false ) );//May Not Be Synced Properly To Show 1 Clock Rotation Must Be Properly Relative Factoring
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowDiskVaryated( thirdScreen.getBounds().getHeight() / 7, 0, tertiaryXslider * thirdScreen.getBounds().getHeight() / videoSequenceLoopQuantity / 2, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), thirdScreen.getBounds().getHeight() / 2, false ) );//May Not Be Synced Properly To Show 1 Clock Rotation Must Be Properly Relative Factoring
							////tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowDiskVaryated( thirdScreen.getBounds().getHeight() / 4, - tertiaryXslider * thirdScreen.getBounds().getHeight() / videoSequenceLoopQuantity / 4, - tertiaryXslider * thirdScreen.getBounds().getHeight() / videoSequenceLoopQuantity / 4, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), thirdScreen.getBounds().getHeight() / 4, false ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowDiskVaryated( thirdScreen.getBounds().getHeight() / 14, 0, tertiaryXslider * thirdScreen.getBounds().getHeight() / videoSequenceLoopQuantity / 2 , x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), thirdScreen.getBounds().getHeight() / 14, false ) );//May Not Be Synced Properly To Show 1 Clock Rotation Must Be Properly Relative Factoring

							//if ( tertiaryXslider < videoSequenceLoopQuantity / 2 )
							//	tertiaryPW[frameIndex].setColor( x, y, rainbowPattern2D.RainbowDiskGradated( thirdScreen.getBounds().getHeight() / 4., 0, tertiaryXslider * thirdScreen.getBounds().getHeight() / videoSequenceLoopQuantity / 2., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), thirdScreen.getBounds().getHeight() / 4., /*vibrantColorCombos.ImperialFXcolors,*/ false, 1, 0, 1, 1, true ) );//For HumanityFront.com
							//else
							//	tertiaryPW[frameIndex].setColor( x, y, rainbowPattern2D.RainbowDiskVaryated( thirdScreen.getBounds().getHeight() / 4., 0, - tertiaryXslider * thirdScreen.getBounds().getHeight() / videoSequenceLoopQuantity / 2., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), thirdScreen.getBounds().getHeight() / 4., /*vibrantColorCombos.ImperialFXcolors,*/ false ) );//For HumanityFront.com

							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowDiskVaryated( thirdScreen.getBounds().getHeight() / 4., 0, tertiaryXslider * thirdScreen.getBounds().getHeight() / videoSequenceLoopQuantity / 4., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), thirdScreen.getBounds().getHeight() / 4., vibrantColorCombos.ImperialFXcolors, false ) );//For HumanityFront.com
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowDiskVaryated( thirdScreen.getBounds().getHeight() / 4., 0, tertiaryXslider * thirdScreen.getBounds().getHeight() / videoSequenceLoopQuantity / 4., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), thirdScreen.getBounds().getHeight() / 4., false ) );//For HumanityFront.com Flashing
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowDiskVaryated( thirdScreen.getBounds().getHeight() / 4., 0, tertiaryXslider * thirdScreen.getBounds().getHeight() / videoSequenceLoopQuantity / 4., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), thirdScreen.getBounds().getHeight() / 4., vibrantColorCombos.HalloweenFXcolors, false ) );

							//double ringSize = 0.175979734764;
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowRingVaryated( ringSize * Dim.getHeight() / 2., 0, ( tertiaryXslider + 6. * ringSize * Dim.getHeight() )* ringSize * Dim.getHeight() / ( 2. * videoSequenceLoopQuantity ), x - Dim.getWidth() / 2., y - Dim.getHeight() / 2. + 1., ringSize * Dim.getHeight() / 2., (1. - ringSize ) * Dim.getHeight() / 2. - .5, Dim.getHeight() / 2., vibrantColorCombos.RainbowFXcolorsWNeonGreenCenterReverse, false ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowRingVaryated( thirdScreen.getBounds().getHeight() / 8., 0, tertiaryXslider * thirdScreen.getBounds().getHeight() / thirdScreen.getBounds().getHeight() / 8., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), thirdScreen.getBounds().getHeight() / 8., 6 * thirdScreen.getBounds().getHeight() / 8., thirdScreen.getBounds().getHeight(), vibrantColorCombos.RainbowFXcolorsWNeonGreenCenter, false ) );// *

							//tertiaryPW.setColor( x, y, rainbowSoft2D.RainbowClock( 2 * Math.PI, 2 * Math.PI * tertiaryXslider / videoSequenceLoopQuantity, 2 * Math.PI * tertiaryXslider / videoSequenceLoopQuantity, x, y, 2 * Math.PI, false, 1., 2147483647, 1., 1., true, tertiaryCurrentBrowserImagePR, /*tertiaryCurrentBrowserImagePW,*/ Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect ) );//, reversalOfBackgroundEffectsMaster//Simple Double Slider 1 Rotation Rainbow Clock With Browser Support And For Below Block////////
							////////
							//tertiaryPW[frameIndex].setColor( x, y, fwaSplashLogo.RainbowClock( 2 * Math.PI, 2 * Math.PI * tertiaryXslider / videoSequenceLoopQuantity, 2 * Math.PI * tertiaryXslider / videoSequenceLoopQuantity, x, y, 2 * Math.PI / videoSequenceLoopQuantity, 2 * Math.PI /videoSequenceLoopQuantity, halfScreenDiagionalLength, xScaleFactor, yScaleFactor, false, 1., 2147483647, 1., 1., true, tertiaryCurrentBrowserImagePR, /*tertiaryCurrentBrowserImagePW,*/ Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBoth, nextStepColorTooSimilarEffect ) );//, reversalOfBackgroundEffectsMaster//Simple Double Slider 1 Rotation Rainbow Clock With Browser Support And For Below Block////////
							//tertiaryPW[frameIndex].setColor( x, y, fwaSplashLogo.RainbowClock( videoSequenceLoopQuantity, tertiaryXslider, tertiaryXslider, x, y, videoSequenceLoopQuantity, videoSequenceLoopQuantity, halfScreenDiagionalLength, xScaleFactor, yScaleFactor, false, 1., 2147483647, 1., 1., true, tertiaryCurrentBrowserImagePR, /*tertiaryCurrentBrowserImagePW,*/ Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBoth, nextStepColorTooSimilarEffect ) );//For Testing Individual Rainbow Funtions For RainbowSoft2D



							//tertiaryPW[frameIndex].setColor( x, y, rainbowPattern2D.RainbowClockVaryated( 2 * Math.PI, 2 * Math.PI * tertiaryXslider / videoSequenceLoopQuantity, 2 * Math.PI * tertiaryXslider / videoSequenceLoopQuantity, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), 2 * Math.PI, false ) );//, reversalOfBackgroundEffectsMaster//Simple Double Slider 1 Rotation Rainbow Clock With Browser Support And For Below Block////////

							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( videoSequenceLoopQuantity / 2., 0, tertiaryXslider * videoSequenceLoopQuantity * 4, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), videoSequenceLoopQuantity / 2., false ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( videoSequenceLoopQuantity / 2., 0, tertiaryXslider * videoSequenceLoopQuantity * 4, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), videoSequenceLoopQuantity / 2., halfScreenDiagionalLength, false ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 2., Math.PI * - tertiaryXslider / videoSequenceLoopQuantity + Math.PI, 0, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 2., false ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 2., Math.PI * - tertiaryXslider / videoSequenceLoopQuantity + Math.PI, - 2. * tertiaryXslider / videoSequenceLoopQuantity, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 2., false ) );

							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 2.5, 0, - ( 12. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity ) / 5. + 3 * Math.PI / 15, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 15., false ) );//MUST BE RADIALLY SYNCED
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 7.5, 0, - ( 4. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity ) / 5. + 7.5 * Math.PI / 7.5, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 2.5, false ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 2.5, - ( 12. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity ) / 5. + 3 * Math.PI / 15, 0, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 15., false ) );//MUST BE RADIALLY SYNCED
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 7.5, - ( 4. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity ) / 5. + 7.5 * Math.PI / 7.5, 0, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 2.5, false ) );
							//SYNC Loc RADIALLY LIKEABOVE With LocOColMv//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 2.5, ( 12. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity ) / 5. + Math.PI, ( 6. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity ) / 5., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 15., false ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 7.5, ( 4. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity ) / 5. + Math.PI, - ( 3.5 * Math.PI * tertiaryXslider / videoSequenceLoopQuantity ) / 5., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 2.5, false ) );

							//1st Check Over All 36 Functions To Check To Make Sure They Will Accesses The Right Function In The End

							//Tests For All SliderFormulates In RainbowPattern2D
							//MovingColors
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 2., 0, Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 2., false ) );//1
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 2.5, 0, 12. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity / 2.5, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 15., false ) );//RainbowSegment//2//!!!!!{Potential BUG Caused By Patent Terrorists Here}?LocationOfColorMovement Must Be - For Rainbow Clock To Work Properly As A Natural Consequence Of Things
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 7.5, 0, Math.PI * tertiaryXslider / videoSequenceLoopQuantity / 2.5, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 2.5, false ) );//3//RainbowRibbon
							//MovingColors Negatives
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 2., 0, Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 2., false ) );//4//Remember 2 * 180 degrees, 2 * Math.PI So Half The Divisor And Add Math.PI To Location To Make Into Clock Make tertiaryXslider -tertiaryXslider To Reverse Spinning Direction
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 2., 0, Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 2., false ) );//5
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 2., 0, Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 2., false ) );//6
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 2.5, 0, 12. * Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2.5, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 15., false ) );//7
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 2.5, 0, 12. * Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2.5, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 15., false ) );//8
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 2.5, 0, 12. * Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2.5, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 15., false ) );//9
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 7.5, 0, Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2.5, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 2.5, false ) );//10
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 7.5, 0, Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2.5, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 2.5, false ) );//11
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 7.5, 0, Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2.5, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 2.5, false ) );//12
							//TransitionSlider
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 2., Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2., 0, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 2., false ) );//13 //Does Something Slightly Different Than Expected That May Become Something New But NM I Think It Is Doing What Is Supposed To Do But Save Things When You Get It Back To This Or This When You Get This To That.
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 2.5, 12. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity / 2.5, 0, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 15., false ) );//14
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 7.5, Math.PI * tertiaryXslider / videoSequenceLoopQuantity / 2.5 + 7.5 * Math.PI / 7.5, 0, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 2.5, false ) );//15

							//After Doing 3 Main DoubleSliders Stop Here And Wait For Diagnostics [9 ++] 3X[-~-] To Test!!

							//TransitionSlider Negatives
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 2., Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2, 0, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 2., false ) );//16
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 2., Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2, 0, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 2., false ) );//17
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 2., Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2, 0, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 2., false ) );//18
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 2.5, 12. * Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2.5, 0, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 15., false ) );//19
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 2.5, 12. * Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2.5, 0, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 15., false ) );//20
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 2.5, 12. * Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2.5, 0, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 15., false ) );//21
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 7.5, Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2.5, 0, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 2.5, false ) );//22
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 7.5, Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2.5, 0, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 2.5., false ) );//23
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 7.5, Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2.5, 0, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 2.5, false ) );//24
							//DoubleSlider
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 2., Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2., - Math.PI * ( - tertiaryXslider / videoSequenceLoopQuantity ) / 2., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 2., false ) );//25 //Save Any Changes To Under Functions To Preserve These Beauties
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 2.5, - 6. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity / 5., ( 12. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity ) / 5., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 15., false ) );//26
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 7.5, 3. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity / 5., ( 4. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity ) / 5., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 2.5, false ) );//27
							//DoubleSlider Negatives
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 2., Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2., - Math.PI * ( - tertiaryXslider / videoSequenceLoopQuantity ) / 2., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 2., false ) );//28
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 2., Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2., - Math.PI * ( - tertiaryXslider / videoSequenceLoopQuantity ) / 2., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 2., false ) );//29
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 2., Math.PI * ( tertiaryXslider / videoSequenceLoopQuantity ) / 2., - Math.PI * ( - tertiaryXslider / videoSequenceLoopQuantity ) / 2., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 2., false ) );//30
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 2.5, - 6. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity / 5., ( 12. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity ) / 5., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 15., false ) );//31
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 2.5, - 6. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity / 5., ( 12. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity ) / 5., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 15., false ) );//32
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 2.5, - 6. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity / 5., ( 12. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity ) / 5., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 15., false ) );//33
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 7.5, 3. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity / 5., ( 4. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity ) / 5., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 2.5, false ) );//34
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( - Math.PI / 7.5, 3. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity / 5., ( 4. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity ) / 5., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), Math.PI / 2.5., false ) );//35
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowClockVaryated( Math.PI / 7.5, 3. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity / 5., ( 4. * Math.PI * tertiaryXslider / videoSequenceLoopQuantity ) / 5., x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), - Math.PI / 2.5, false ) );//36

							//tertiaryPW[frameIndex].setColor( x, y, rainbowPattern2D.RainbowSpiralVaryated( videoSequenceLoopQuantity, tertiaryXslider, tertiaryXslider, ( x - HalfedDim.getWidth() ) / 3., ( y - HalfedDim.getHeight() ) / 3., videoSequenceLoopQuantity, 24.6, 1., halfScreenDiagionalLength, true ).invert() );
							//tertiaryPW[frameIndex].setColor( x, y, rainbowPattern2D.RainbowSpiralGradated( videoSequenceLoopQuantity, -tertiaryXslider, -tertiaryXslider, ( x - HalfedDim.getWidth() ) / 10., ( y - HalfedDim.getHeight() ) / 10., videoSequenceLoopQuantity, 144, 10, -halfScreenDiagionalLength, vibrantColorCombos.RainbowFXcolorsReverse, true, 1, (int)( tertiaryXslider / ( sliderInterval * 6 ) ), 1, 1, true ).invert() );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowSpiralVaryated( videoSequenceLoopQuantity, 0, tertiaryXslider, ( x - HalfedDim.getWidth() ) / 3., ( y - HalfedDim.getHeight() ) / 3., videoSequenceLoopQuantity, 24.6, 1., halfScreenDiagionalLength, false ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowSpiralVaryated( videoSequenceLoopQuantity / 3, tertiaryXslider, -tertiaryXslider, ( x - HalfedDim.getWidth() ) / 3., ( y - HalfedDim.getHeight() ) / 3., videoSequenceLoopQuantity, 24.6, 1., halfScreenDiagionalLength, false ) );
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowSpiralVaryated( videoSequenceLoopQuantity, 6 * tertiaryXslider, -6 * tertiaryXslider, ( x - HalfedDim.getWidth() ) / 3., ( y - HalfedDim.getHeight() ) / 3., videoSequenceLoopQuantity / 6, 24.6, 1., halfScreenDiagionalLength, false ) );

							//BAD rainbowPattern2D.RainbowClockVaryated( 90, 0, - tertiaryXslider * 360 / videoSequenceLoopQuantity, x - HalfedDim.getWidth(), y - HalfedDim.getHeight(), 90, 3, 180, false ) );//BAD
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowSpiralVaryated( videoSequenceLoopQuantity, 0, tertiaryXslider, ( x - HalfedDim.getWidth() ) / 3., ( y - HalfedDim.getHeight() ) / 3., videoSequenceLoopQuantity, 24.6, 1, halfScreenDiagionalLength, false ) );//For Proper Rainbow Hypnosis Spiral
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowSpiralVaryated( videoSequenceLoopQuantity, 0, tertiaryXslider, ( x - HalfedDim.getWidth() ) / 10., ( y - HalfedDim.getHeight() ) / 10., videoSequenceLoopQuantity, 144, 10, halfScreenDiagionalLength, false ) );//For Proper Rainbow Rainbow Shrunken
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowSpiralVaryated( videoSequenceLoopQuantity * 6, 0, tertiaryXslider * 6, ( x - HalfedDim.getWidth() ) / 6., ( y - HalfedDim.getHeight() ) / 6., videoSequenceLoopQuantity, 88.8, 4, halfScreenDiagionalLength, false ) );//For Segment View
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowSpiralVaryated( videoSequenceLoopQuantity, 0, tertiaryXslider * 3, ( x - HalfedDim.getWidth() ) / 6., ( y - HalfedDim.getHeight() ) / 6., videoSequenceLoopQuantity * 3, 66.6, 3, halfScreenDiagionalLength, false ) );//For View Of More Length Than 1 Segment, Values Must Be Mulitples Of Eachother Somehow 3 In This Instance
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowSpiralVaryated( videoSequenceLoopQuantity, 0, tertiaryXslider, ( x - HalfedDim.getWidth() ) / 1., ( y - HalfedDim.getHeight() ) / 1., videoSequenceLoopQuantity, 999, 1680, halfScreenDiagionalLength, false ) );//For Proper Rainbow PsychaHypnotic
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowSpiralVaryated( videoSequenceLoopQuantity, 0, tertiaryXslider, ( x - HalfedDim.getWidth() ) / 10., ( y - HalfedDim.getHeight() ) / 10., videoSequenceLoopQuantity, 999, 1680, halfScreenDiagionalLength, false ) );//For Strange Rainbow PsychaHypnotic

							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowSpiralVaryated( videoSequenceLoopQuantity, tertiaryXslider * 3, tertiaryXslider * 3, ( x - HalfedDim.getWidth() ) / 6., ( y - HalfedDim.getHeight() ) / 6., videoSequenceLoopQuantity * 3, 66.6, 3, halfScreenDiagionalLength, false ) );
							///tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowSpiralVaryated( videoSequenceLoopQuantity, tertiaryXslider * 6., tertiaryXslider * 6., ( x - HalfedDim.getWidth() ) / 6., ( y - HalfedDim.getHeight() ) / 6., videoSequenceLoopQuantity / 6., 66.6, 3, halfScreenDiagionalLength, false ) );

							//System.out.println("x: " + x +" y: " + y + " tertiaryXslider: " + tertiaryXslider);
							//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowSpiralVaryated( videoSequenceLoopQuantity, 0, tertiaryXslider / Math.pow ( 1.003, tertiaryXslider ), ( x - HalfedDim.getWidth() ) / Math.pow( 1.004, tertiaryXslider ), ( y - HalfedDim.getHeight() ) / Math.pow( 1.004, tertiaryXslider ), videoSequenceLoopQuantity, 999, 1680, halfScreenDiagionalLength, false ) );//For Proper Rainbow PsychaHypnotic //Unknown Anomaly Like Shrunken Tangent Determining Disk Being Scanned By My Cybertron Steel 9600 Computer And Shows Atoms That Cannot Become More Resolute At The Present Time Or Ever!?
							/*double cheapFractalAdjustedtertiaryXslider = tertiaryXslider * 480 / videoSequenceLoopQuantity;//For Cheap Varyated Fractal Imperial
						double tertiaryXsliderBackAndFourth = cheapFractalAdjustedtertiaryXslider;
						if ( cheapFractalAdjustedtertiaryXslider < 240 )//For Fractal
							tertiaryXsliderBackAndFourth = cheapFractalAdjustedtertiaryXslider;//For Fractal
						else//For Fractal
							tertiaryXsliderBackAndFourth = 480 - cheapFractalAdjustedtertiaryXslider;//
						//System.out.println("x: " + x +" y: " + y + " cheapFractalAdjustedtertiaryXslider: " + cheapFractalAdjustedtertiaryXslider);
						tertiaryPW[frameIndex].setColor( x, y, rainbowPattern2D.RainbowCheapFractalVaryated( thirdScreen.getBounds().getWidth(), 24 * cheapFractalAdjustedtertiaryXslider, tertiaryXsliderBackAndFourth, x, y - HalfedDim.getHeight(), thirdScreen.getBounds().getWidth(), thirdScreen.getBounds().getWidth(), vibrantColorCombos.RainbowFXcolorsReverseNoPink, false ) );//Good Double Slider Vibrant Version Imperial
						//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowCheapFractalVaryated( thirdScreen.getBounds().getWidth(), 0, tertiaryXsliderBackAndFourth, x, y - HalfedDim.getHeight(), thirdScreen.getBounds().getWidth(), thirdScreen.getBounds().getWidth(), false ) );//Good Vibrant Version
						//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowCheapFractalVaryated( thirdScreen.getBounds().getWidth(), 0, tertiaryXsliderBackAndFourth, x, y - HalfedDim.getHeight(), thirdScreen.getBounds().getWidth() / 6, thirdScreen.getBounds().getWidth(), false ) );//Rainbow Segment Version
						//tertiaryPW.setColor( x, y, rainbowPattern2D.RainbowCheapFractalVaryated( thirdScreen.getBounds().getWidth() / 3, 0, tertiaryXsliderBackAndFourth, x, y - HalfedDim.getHeight(), thirdScreen.getBounds().getWidth(), thirdScreen.getBounds().getWidth(), false ) );//Rainbow With Even Ends Of 1 Color */
							//System.out.println("x: " + x +" y: " + y);
							//rainbowSoft2D.MagiElite( videoSequenceLoopQuantity, tertiaryXslider, 0., videoSequenceLoopQuantity, x, y, videoSequenceLoopQuantity, 24.6, 1., halfScreenDiagionalLength, false, 1., 2147483647, 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect );
							//rainbowSoft2D.Buddhism( videoSequenceLoopQuantity, tertiaryXslider, 0., sliderInterval, videoSequenceLoopQuantity, x, y, videoSequenceLoopQuantity, (double)lengthOfColorBar, 24.6, 1., 1.14, 1. , halfScreenDiagionalLength, false, 1., 2147483647, 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, vibrantColors.NeonGreen.ToFXColor(), colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect, false );
							///rainbowSoft2D.Buddhism( videoSequenceLoopQuantity, tertiaryXslider, 0., sliderInterval, videoSequenceLoopQuantity, x, y, videoSequenceLoopQuantity, (double)lengthOfColorBar, 24.6, 1., 1.14, 4., halfScreenDiagionalLength, false, 1., 2147483647, 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, vibrantColors.NeonGreen.ToFXColor(), colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect, false );
							//public Color Buddhism(double ColorsFactor, double LocationOfStillMovement, double LocationOfColorMovement, double SliderInterval, double FullSliderRunThrough, int x, int y, double RepeatFactor, double LengthOfColorBar, double SpiralFactor, double NumberOfSpirals, double SuckInExponentialness, double SuckInDivisor, double halfScreenDiagionalLength, boolean Reversed, double BrightnessMultiplyer, int Gradations, double OpacityBefore, double OpacityAfter, boolean Adjusted, PixelReader BasisPR, PixelReader BackgroundBasisPR, PixelReader BrowserPR, Dimension Dim, String TypeOfDisplay, Color InitialColorContrastingChoice, Color ColorTooSimilarReplacementColor, double ColorDifference, boolean InvertBasisFromBackground, boolean ReversalOfBackgroundEffectsMaster, boolean NextStepColorTooSimilarEffect )
							//tertiaryPW.setColor( x, y, tertiaryBasisImagePR.getColor( x, y ) );
							//////tertiaryPW.setColor( x, y, rainbowPattern2D.ToFXColor() );//////
							//tertiaryPW.setColor( x, y, colorSlider.ToFXColor() );
							///tertiaryPW.setColor( x, y, rainbowSoft2D.ToFXColor() );///
							//tertiaryPW.setColor( x, y, rainbowSoft2D.FwaLogoSplash( videoSequenceLoopQuantity, tertiaryXslider, tertiaryXslider, videoSequenceLoopQuantity, x, y, videoSequenceLoopQuantity, halfScreenDiagionalLength, xScaleFactor, yScaleFactor, false, 1., 2147483647, 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect ) );
							//tertiaryPW.setColor( x, y, rainbowSoft2D.FwaLogoSplash( 96. * tertiaryXslider - videoSequenceLoopQuantity, tertiaryXslider, tertiaryXslider, videoSequenceLoopQuantity / 3., x, y, videoSequenceLoopQuantity, halfScreenDiagionalLength, false, 1., 2147483647, 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect ) );
							////tertiaryPW.setColor( x, y, rainbowSoft2D.FwaFlagLogoSplash( videoSequenceLoopQuantity, tertiaryXslider, tertiaryXslider, videoSequenceLoopQuantity, x, y, videoSequenceLoopQuantity, halfScreenDiagionalLength, xScaleFactor, yScaleFactor, false, 1., 2147483647, 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect ) );////
							//tertiaryPW.setColor( x, y, rainbowSoft2D.FwaFlagLogoSplash( 96. * tertiaryXslider - videoSequenceLoopQuantity, tertiaryXslider, tertiaryXslider, videoSequenceLoopQuantity / 3., x, y, videoSequenceLoopQuantity, halfScreenDiagionalLength, false, 1., 2147483647, 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect ) );
							/*if ( tertiaryXslider < videoSequenceLoopQuantity / 2. )
							tertiaryPW.setColor( x, y, rainbowSoft2D.FwaLogoSplash( 2. * ( tertiaryXslider - 1.001 * videoSequenceLoopQuantity / 4. ), tertiaryXslider, tertiaryXslider, videoSequenceLoopQuantity / 2., x, y, videoSequenceLoopQuantity, halfScreenDiagionalLength, false, 1., 2147483647, 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect ) );
						else
							tertiaryPW.setColor( x, y, rainbowSoft2D.FwaLogoSplash( -tertiaryXslider + 1.001 * videoSequenceLoopQuantity / 2., tertiaryXslider, tertiaryXslider, videoSequenceLoopQuantity / 2., x, y, videoSequenceLoopQuantity, halfScreenDiagionalLength, false, 1., 2147483647, 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect ) ); // */
							//tertiaryPW.setColor( x, y, rainbowSoft2D.MagiElite( videoSequenceLoopQuantity, tertiaryXslider, tertiaryXslider, videoSequenceLoopQuantity, x, y, videoSequenceLoopQuantity, 24.6, 88.8, 1., halfScreenDiagionalLength, false, 1., 2147483647, 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect ) );//For SciMagOrderMagiElite.png Color-Coded Varyaterd Rainbow/Color Production With Octagonal Jew Star With Pentagram In Center, Make Sure To Choose Correct BackgroundBasis Image Too////
							/*if ( tertiaryXslider < videoSequenceLoopQuantity / 16. )
							tertiaryPW.setColor( x, y, rainbowSoft2D.MagiElite( 112. * tertiaryXslider - videoSequenceLoopQuantity, 0, tertiaryXslider, videoSequenceLoopQuantity / 8., x, y, videoSequenceLoopQuantity, 24.6, 88.8, 1., halfScreenDiagionalLength, false, 1., (int)( videoFrameQuantity / 80. - tertiaryXslider / ( sliderInterval * 5. ) ), 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect ) );
						else if ( tertiaryXslider < videoSequenceLoopQuantity / 8. )
							tertiaryPW.setColor( x, y, rainbowSoft2D.MagiElite( 112. * ( tertiaryXslider - videoSequenceLoopQuantity / 16. ) - 6. * videoSequenceLoopQuantity, 0, tertiaryXslider, videoSequenceLoopQuantity / 8., x, y, videoSequenceLoopQuantity, 24.6, 88.8, 1., halfScreenDiagionalLength, false, 1., 0, 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect ) );
						else if ( tertiaryXslider < videoSequenceLoopQuantity * 3. / 8. )//For Blocky To Graduated To Imperial MagiElite
							tertiaryPW.setColor( x, y, rainbowSoft2D.MagiElite( videoSequenceLoopQuantity, 0, tertiaryXslider, videoSequenceLoopQuantity / 4., x, y, videoSequenceLoopQuantity, 24.6, 88.8, 1., halfScreenDiagionalLength, false, 1., (int)( tertiaryXslider / ( sliderInterval * 25. ) ), 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect ) );
						else if ( tertiaryXslider < videoSequenceLoopQuantity * 5. / 8. )
							tertiaryPW.setColor( x, y, rainbowSoft2D.MagiElite( videoSequenceLoopQuantity, 0, tertiaryXslider, videoSequenceLoopQuantity / 4., x, y, videoSequenceLoopQuantity, 24.6, 88.8, 1., halfScreenDiagionalLength, false, 1., (int)( tertiaryXslider / ( sliderInterval * 25. ) ), 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect ) );
						else if ( tertiaryXslider < videoSequenceLoopQuantity * 3. / 4. )
							tertiaryPW.setColor( x, y, rainbowSoft2D.MagiElite( videoSequenceLoopQuantity - 16. * ( tertiaryXslider - 5.0001 / 8. * videoSequenceLoopQuantity ), 0, tertiaryXslider, videoSequenceLoopQuantity / 8., x, y, videoSequenceLoopQuantity, 24.6, 88.8, 1., halfScreenDiagionalLength, false, 1., 2147483647, 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect ) );
						else
							tertiaryPW.setColor( x, y, rainbowSoft2D.MagiElite( -videoSequenceLoopQuantity, tertiaryXslider, tertiaryXslider, videoSequenceLoopQuantity / 4., x, y, videoSequenceLoopQuantity, 24.6, 88.8, 1., halfScreenDiagionalLength, false, 1., 2147483647, 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect ) );// */
							////tertiaryPW.setColor( x, y, rainbowSoft2D.MagiElite( -videoSequenceLoopQuantity, tertiaryXslider, tertiaryXslider, videoSequenceLoopQuantity, x, y, videoSequenceLoopQuantity, 24.6, 88.8, 1., halfScreenDiagionalLength, false, 1., 2147483647, 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect ) );
							///tertiaryPW.setColor( x, y, rainbowSoft2D.Buddhism( videoSequenceLoopQuantity, tertiaryXslider, tertiaryXslider, sliderInterval, videoSequenceLoopQuantity, x, y, videoSequenceLoopQuantity, lengthOfColorBar, 24.6, 1., 1.014, 1.00000000, halfScreenDiagionalLength, false, 1., 2147483647, 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect ) );// Don't Change Object To It To Make This Work Because It Could Be ARGB Or RGB
							//tertiaryPW.setColor( x, y, rainbowSoft2D.RainbowVideoTest( videoSequenceLoopQuantity, tertiaryXslider, tertiaryXslider, videoSequenceLoopQuantity, x, y, videoSequenceLoopQuantity, 24.6, 1., halfScreenDiagionalLength, false, 1., 2147483647, 1., 1., false, tertiaryBasisImagePR, tertiaryBackgroundBasisImagePR, tertiaryCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, nextStepColorTooSimilarEffect ) );

							//colorsFactor = videoSequenceLoopQuantity; repeatFactor = videoSequenceLoopQuantity; fullSliderRunThrough = videoSequenceLoopQuantity;
							locationOfStillMovement = 0; locationOfColorMovement = tertiaryXslider;//Using This May Mess Up First Frame
							//locationOfStillMovement = tertiaryXslider + teenyTinyItsyWitzyBit; locationOfColorMovement = tertiaryXslider + teenyTinyItsyWitzyBit;//locationOfStillMovement = tertiaryXslider + teenyTinyItsyWitzyBit; locationOfColorMovement = tertiaryXslider + teenyTinyItsyWitzyBit;//locationOfStillMovement = tertiaryXslider; locationOfColorMovement = tertiaryXslider;//0;//tertiaryXslider;//Usually locationOfStillMovement = tertiaryXslider; locationOfColorMovement = tertiaryXslider;
							//In Above Line "+ teenyTinyItsyWitzyBit" In Both loacations Protects Fisrt Frame Consistance With The Rest Of A Video Production.
							//if ( !basisImageViewIndexIsNegitive = true )
							switch (basisImageViewIndex)
							{// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get XScaleFactor To Scale On PostPattern2D Like RainbowHorizontal Has
							case 0: tertiaryPW.setColor( x, y, buddhism.BuddhismForRaster( colorsFactor, locationOfStillMovement, locationOfColorMovement, sliderInterval, fullSliderRunThrough, (int)x, (int)y, x, y, repeatFactor, rainbowWidth, numberOfClockHands, 1 * numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, suckInExponentialness, suckInDivisor, lengthOfColorBar, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalBasisImagePR[indexOfPRforSplash].getColor( x, y ), finalBackgroundBasisImagePR[indexOfPRforSplash], finalCurrentBrowserImagePR.getColor( x, y ), Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); /*try { Thread.sleep(0, 1);} catch (InterruptedException e) {System.out.println("Interrupted.");} Platform.runLater( () -> { try { Thread.sleep(0,1); } catch (InterruptedException e) { System.out.println("Interrupted."); } } );*/ break;// Don't Change Object To It To Make This Work Because It Could Be ARGB Or RGB
							case 1: tertiaryPW.setColor( x, y, magiElite.MagiEliteForRaster( colorsFactor, locationOfStillMovement, locationOfColorMovement, fullSliderRunThrough, x, y, repeatFactor, rainbowWidth, numberOfClockHands, 1 * numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, suckInExponentialness, suckInDivisor, lengthOfColorBar, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalBasisImagePR[indexOfPRforSplash].getColor( x, y ), finalBackgroundBasisImagePR[indexOfPRforSplash].getColor( x, y ), finalCurrentBrowserImagePR.getColor( x, y ), Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); /*try { Thread.sleep(0, 1);} catch (InterruptedException e) {System.out.println("Interrupted.");}/* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 2: tertiaryPW.setColor( x, y, fwaSplashLogo.FwaLogoSplash( colorsFactor, locationOfStillMovement, locationOfColorMovement, fullSliderRunThrough, x, y, repeatFactor, rainbowWidth, numberOfClockHands, 1 * numberOfRingsVerticallyForFwa, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, suckInExponentialness, suckInDivisor, lengthOfColorBar, rainbowOvalFitting, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalBasisImagePR[indexOfPRforSplash].getColor( x, y ), finalBackgroundBasisImagePR[indexOfPRforSplash].getColor( x, y ), finalCurrentBrowserImagePR.getColor( x, y ), Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); /*try { Thread.sleep(0, 1);} catch (InterruptedException e) {System.out.println("Interrupted.");} /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 3: tertiaryPW.setColor( x, y, fwaFlagSplashLogo.FwaFlagLogoSplash( colorsFactor, locationOfStillMovement, locationOfColorMovement, fullSliderRunThrough, x, y, repeatFactor, rainbowWidth, numberOfClockHands, 1 * numberOfRingsVerticallyForFwa, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, suckInExponentialness, suckInDivisor, lengthOfColorBar, rainbowOvalFitting, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalBasisCorrectedImagePR.getColor( x, y ), finalBackgroundBasisCorrectedImagePR.getColor( x, y ), finalCurrentBrowserImagePR.getColor( x, y ), /*tertiaryBackUpWorkAroundImagePR.getColor( x, y ),*/ Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); /*try { Thread.sleep(0, 1);} catch (InterruptedException e) {System.out.println("Interrupted.");} /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;////
							case 4: tertiaryPW.setColor( x, y, rainbowPostPattern2D.RainbowHorizontal( colorsFactor, locationOfStillMovement, locationOfColorMovement, x, y, repeatFactor, fullSliderRunThrough, rainbowWidth, halfScreenDiagionalLength, xScaleFactor, yScaleFactor, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, textColorOverlay, backgroundColorOverlay, overlayColorScheme, colorSet ) );	/* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;//, reversalOfBackgroundEffectsMaster//Simple Double Slider 1 Rotation Rainbow Clock With Browser Support And For Below Block////////
							case 5: tertiaryPW.setColor( x, y, diagnostics.RainbowSoftColorTransparencySliderTooSimilar( x, y, locationOfColorMovement * Dim.getWidth() / fullSliderRunThrough, 1/* 6 * locationOfColorMovement / fullSliderRunThrough + 0.25 */, (int)Math.abs(Math.round( Math.pow( 2,  gradientExpontierMultiplier * ( locationOfColorMovement ) / 5 / 24 - 1 / 5 ) - 1 ) ), vibrantColorCombos.ImperialFXcolors, vibrantColorCombos.ImperialColorsNum, 0, 1, Dim ) ); break;//GradientExpontierMultiplier * LocationOfColorMovement / ( 5 * SliderInterval ) - 1 / 5 ) - 1 ) ), vibrantColorCombos.ImperialFXcolors, vibrantColorCombos.ImperialColorsNum, 0, 1, Dim );//diagnostics.RainbowSoftColorTransparencySliderTooSimilar( x, y, tertiaryXslider * Dim.getWidth() / fullSliderRunThrough, 6 * tertiaryXslider / fullSliderRunThrough, (int)Math.abs(Math.round( Math.pow( 2, gradientExpontierMultiplier * tertiaryXslider / ( 5 * ( fullSliderRunThrough / sliderInterval ) ) - 1 / 5 ) - 1 ) ), vibrantColorCombos.ImperialFXcolors, vibrantColorCombos.ImperialColorsNum, 0, 1, Dim ) ); break;
							case 6: tertiaryPW.setColor( x, y, rainbowPostPattern2D.RainbowClock( colorsFactor, locationOfStillMovement, locationOfColorMovement /* - videoSequenceLoopQuantity / 2 */, x, y, repeatFactor, fullSliderRunThrough, numberOfClockHands /* * tertiaryXslider / videoSequenceLoopQuantity + 1 */, halfScreenDiagionalLength, xScaleFactor, yScaleFactor, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, textColorOverlay, backgroundColorOverlay, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 7: tertiaryPW.setColor( x, y, rainbowPostPattern2D.RainbowRing( colorsFactor, locationOfStillMovement, locationOfColorMovement, x, y, repeatFactor, fullSliderRunThrough, 1 * numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, halfScreenDiagionalLength, xScaleFactor, yScaleFactor, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, textColorOverlay, backgroundColorOverlay, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 8: tertiaryPW.setColor( x, y, rainbowPostPattern2D.RainbowStrobe( colorsFactor, locationOfStillMovement, locationOfColorMovement, x, y, repeatFactor, fullSliderRunThrough, 0.5 * halfScreenDiagionalLength * Dim.getWidth() / Dim.getHeight(), xScaleFactor, yScaleFactor, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, textColorOverlay, backgroundColorOverlay, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 9: tertiaryPW.setColor( x, y, rainbowPostPattern2D.RainbowSpiral( colorsFactor, locationOfStillMovement, locationOfColorMovement, x, y, repeatFactor, fullSliderRunThrough, halfScreenDiagionalLength, spiralFactor, - numberOfSpirals, xScaleFactor, yScaleFactor, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, textColorOverlay, backgroundColorOverlay, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 10: tertiaryPW.setColor( x, y, rainbowPostPattern2D.RainbowCheapFractal( colorsFactor, locationOfStillMovement + 0.1 /* + videoSequenceLoopQuantity / 2 */, 0.1 + 0.055555555555555 * Dim.getHeight() * ( locationOfColorMovement + 3.333333333333 * 9.5 * videoSequenceLoopQuantity / 24 ) / videoSequenceLoopQuantity, x + Dim.getWidth(), y, repeatFactor, fullSliderRunThrough, xScaleFactor, yScaleFactor / 4, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, textColorOverlay, backgroundColorOverlay, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 11: tertiaryPW.setColor( x, y, rainbowPattern2D.FullSelector( selection, subSelection, colorsFactor, locationOfStillMovement, locationOfColorMovement, (int)(x-HalfedDim.getWidth()), (int)(y-HalfedDim.getHeight()), repeatFactor, fullSliderRunThrough, Dim, HalfedDim, colorSet, numberOfClockHands, fanOutRadius, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, reversedColors, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;//tertiaryPW.setColor( x, y, rainbowPattern2D.SimpleCustomColor( thirdScreen.getBounds().getWidth(), 0., - tertiaryXslider * thirdScreen.getBounds().getWidth(), x, thirdScreen.getBounds().getWidth(), colorArrayReverser.ReverseArray( vibrantColorCombos.ImperialFXcolors, false, true, false ) ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 12: tertiaryPW.setColor( x, y, rainbowPostPattern2D.RainbowExponentiator( colorsFactor, locationOfStillMovement, locationOfColorMovement, fullSliderRunThrough, x, y, repeatFactor, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, textColorOverlay, backgroundColorOverlay, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 13: tertiaryPW.setColor( x, y, rainbowPostPattern2D.RainbowDoubleExponentiator( colorsFactor, locationOfStillMovement, locationOfColorMovement, fullSliderRunThrough, x, y, repeatFactor, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, textColorOverlay, backgroundColorOverlay, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 14: tertiaryPW.setColor( x, y, diagnostics.RainbowSplashAndPostPattern2D( colorsFactor, locationOfStillMovement/* + teenyTinyItsyWitzyBit*/, locationOfColorMovement, x, y, repeatFactor, fullSliderRunThrough, rainbowWidth, numberOfClockHands, 1 * numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, fanOutRadius, colorFlipper, xScaleFactor, yScaleFactor, lengthOfColorBar, sliderInterval, suckInExponentialness, suckInDivisor, rainbowOvalFitting, gradientExpontierMultiplier, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR, finalBasisImagePR[0], finalBackgroundBasisImagePR[0], finalBasisImagePR[1], finalBackgroundBasisImagePR[1], finalBasisImagePR[2], finalBackgroundBasisImagePR[2], finalBasisCorrectedImagePR, finalBackgroundBasisCorrectedImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 15: tertiaryPW.setColor( x, y, diagnostics.RainbowPattern2D( colorsFactor, locationOfStillMovement, locationOfColorMovement, x, y, repeatFactor, fullSliderRunThrough, Dim, HalfedDim, colorSet, rainbowWidth, numberOfClockHands, fanOutRadius, 1 * numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, sliderInterval, gradientExpontierMultiplier, reversedColors, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 16: tertiaryPW.setColor( x, y, diagnostics.RainbowPattern2DcolorMovementDynamics( selection, subSelection, tertiaryXslider, Math.abs(colorsFactor), locationOfStillMovement, locationOfColorMovement, x, y, Math.abs(repeatFactor), Math.abs(fullSliderRunThrough), rainbowWidth, numberOfClockHands, fanOutRadius, 1 * numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, lengthOfColorBar, sliderInterval, suckInExponentialness, suckInDivisor, rainbowOvalFitting, gradientExpontierMultiplier, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), finalCurrentBrowserImagePR.getColor( x, y ), finalCurrentBrowserImagePR.getColor( x, y ), finalBasisImagePR[0], Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 17: tertiaryPW.setColor( x, y, diagnostics.RainbowPattern2DstillMovementDynamics( selection, subSelection, tertiaryXslider, Math.abs(colorsFactor), locationOfStillMovement, locationOfColorMovement, x, y, Math.abs(repeatFactor), Math.abs(fullSliderRunThrough), rainbowWidth, numberOfClockHands, fanOutRadius, 1 * numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, lengthOfColorBar, sliderInterval, suckInExponentialness, suckInDivisor, rainbowOvalFitting, gradientExpontierMultiplier, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), finalCurrentBrowserImagePR.getColor( x, y ), finalCurrentBrowserImagePR.getColor( x, y ), finalBasisImagePR[0], Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 18: tertiaryPW.setColor( x, y, diagnostics.RainbowPattern2DdoubleMovementDynamics( selection, subSelection, tertiaryXslider, Math.abs(colorsFactor), locationOfStillMovement, locationOfColorMovement, x, y, Math.abs(repeatFactor), Math.abs(fullSliderRunThrough), rainbowWidth, numberOfClockHands, fanOutRadius, 1 * numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, lengthOfColorBar, sliderInterval, suckInExponentialness, suckInDivisor, rainbowOvalFitting, gradientExpontierMultiplier, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), finalCurrentBrowserImagePR.getColor( x, y ), finalCurrentBrowserImagePR.getColor( x, y ), finalBasisImagePR[0], Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 19: tertiaryPW.setColor( x, y, diagnostics.RainbowGlobalSelector( tertiaryXslider, colorsFactor, locationOfStillMovement, locationOfColorMovement, x, y, repeatFactor, fullSliderRunThrough, rainbowWidth, numberOfClockHands, fanOutRadius, 1 * numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, lengthOfColorBar, sliderInterval, suckInExponentialness, suckInDivisor, rainbowOvalFitting, gradientExpontierMultiplier, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR, new PixelReader[] { finalBasisImagePR[0], finalBasisImagePR[1], finalBasisImagePR[2], finalBasisCorrectedImagePR }, new PixelReader[] { finalBackgroundBasisImagePR[0], finalBackgroundBasisImagePR[1], finalBackgroundBasisImagePR[2], finalBackgroundBasisCorrectedImagePR }, finalBasisImagePR[0], Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 20: tertiaryPW.setColor( x, y, globalSelector.Selector( selection, subSelection, tertiaryXslider, colorsFactor, locationOfStillMovement, locationOfColorMovement, x, y, repeatFactor, fullSliderRunThrough, rainbowWidth, numberOfClockHands, fanOutRadius, 1 * numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, lengthOfColorBar, sliderInterval, suckInExponentialness, suckInDivisor, rainbowOvalFitting, gradientExpontierMultiplier, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), finalBasisImagePR[currentBasisViewIndex].getColor( x, y ), finalBackgroundBasisImagePR[currentBasisViewIndex].getColor( x, y ), finalBasisImagePR[currentBasisViewIndex], Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 21: tertiaryPW.setColor( x, y, rainbowPostPattern2D.RainbowFlasher( colorsFactor, 0 * locationOfStillMovement, -locationOfColorMovement, 1, y, repeatFactor, fullSliderRunThrough, rainbowWidth, halfScreenDiagionalLength, xScaleFactor, yScaleFactor, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, textColorOverlay, backgroundColorOverlay, overlayColorScheme, colorSet ) );	/* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;//, reversalOfBackgroundEffectsMaster//Simple Double Slider 1 Rotation Rainbow Clock With Browser Support And For Below Block////////
							case 22: tertiaryPW.setColor( x, y, diagnostics.RainbowPostPattern2D( selection, subSelection, tertiaryXslider, colorsFactor, locationOfStillMovement, locationOfColorMovement, x, y, repeatFactor, fullSliderRunThrough, rainbowWidth, numberOfClockHands, fanOutRadius, numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, textColorOverlay, backgroundColorOverlay, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 23: tertiaryPW.setColor( x, y, rainbowPostPattern2D.Selector ( selection, subSelection, colorsFactor, locationOfStillMovement, locationOfColorMovement, x, y, repeatFactor, fullSliderRunThrough, rainbowWidth, numberOfClockHands, fanOutRadius, numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, textColorOverlay, backgroundColorOverlay, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 24: tertiaryPW.setColor( x, y, fwaFlagLogo.FwaFlagLogoRaster( colorsFactor, locationOfStillMovement/* + teenyTinyItsyWitzyBit*/, locationOfColorMovement, fullSliderRunThrough, x, y, repeatFactor, rainbowWidth, numberOfClockHands, 1 * numberOfRingsVerticallyForFwa, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, suckInExponentialness, suckInDivisor, lengthOfColorBar, rainbowOvalFitting, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalBasisCorrectedImagePR.getColor( x, y ), finalBackgroundBasisCorrectedImagePR.getColor( x, y ), finalCurrentBrowserImagePR.getColor( x, y ), Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 25: tertiaryPW.setColor( x, y, rainbowPostPattern2D.RainbowFanOutClock( colorsFactor, locationOfStillMovement/* + teenyTinyItsyWitzyBit*/, locationOfColorMovement + 1 * videoSequenceLoopQuantity / 2, x, y, repeatFactor, fullSliderRunThrough, 16/* numberOfClockHands */, exponentValue, fanOutRadius, ringDisplacement, innerCutOffRadius, outerCutOffRadius, halfScreenDiagionalLength, xScaleFactor, yScaleFactor, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, textColorOverlay, backgroundColorOverlay, overlayColorScheme, colorSet ) ); break;
							case 26: tertiaryPW.setColor( x, y, diagnostics.RainbowPattern2DfullMovementDynamics( selection, subSelection, tertiaryXslider, Math.abs(colorsFactor), locationOfStillMovement, locationOfColorMovement, x, y, Math.abs(repeatFactor), Math.abs(fullSliderRunThrough), rainbowWidth, numberOfClockHands, fanOutRadius, 1 * numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, lengthOfColorBar, sliderInterval, suckInExponentialness, suckInDivisor, rainbowOvalFitting, gradientExpontierMultiplier, /*true, true, 0.666, 3, 0, opacityAfter, true*/reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, (int)Math.abs(Math.floor( Math.pow( 2, gradientExpontierMultiplier * locationOfColorMovement / ( 5 * sliderInterval ) - 1 / 5 ) - 1 ) ) /*gradations*/, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), finalCurrentBrowserImagePR.getColor( x, y ), finalCurrentBrowserImagePR.getColor( x, y ), finalBasisImagePR[0], Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;//tertiaryPW.setColor( x, y, diagnostics.RainbowPattern2DfullMovementDynamics( selection, subSelection, colorsFactor, locationOfStillMovement, locationOfColorMovement, x, y, repeatFactor, fullSliderRunThrough, rainbowWidth, numberOfClockHands, fanOutRadius, 1 * numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, lengthOfColorBar, sliderInterval, suckInExponentialness, suckInDivisor, rainbowOvalFitting, gradientExpontierMultiplier, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), finalCurrentBrowserImagePR.getColor( x, y ), finalCurrentBrowserImagePR.getColor( x, y ), finalBasisImagePR[0], Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 27: tertiaryPW.setColor( x, y, rainbowPostPattern2D.RainbowKaladaScope( colorsFactor, locationOfStillMovement/* + teenyTinyItsyWitzyBit*/, locationOfColorMovement + 1 * videoSequenceLoopQuantity / 2, x, y, repeatFactor, fullSliderRunThrough, 16/* numberOfClockHands */, exponentValue, fanOutRadius, ringDisplacement, innerCutOffRadius, outerCutOffRadius, halfScreenDiagionalLength, xScaleFactor, yScaleFactor, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR.getColor( x, y ), Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, textColorOverlay, backgroundColorOverlay, overlayColorScheme, colorSet ) ); break;
							case 28: tertiaryPW.setColor( x, y, diagnostics.RainbowSoftColorTransparencySliderTooSimilar( x, y, tertiaryXslider * thirdScreen.getBounds().getWidth() / videoSequenceLoopQuantity, 6 * tertiaryXslider / videoSequenceLoopQuantity, (int)Math.abs(Math.floor( Math.pow( 2, gradientExpontierMultiplier * tertiaryXslider / ( 5 * videoFrameQuantity ) - 1 / 5 ) - 1 ) ), vibrantColorCombos.ImperialFXcolors, vibrantColorCombos.ImperialColorsNum, 0, 1, Dim ) ); break;
							case 29: tertiaryPW.setColor( x, y, diagnostics.RainbowFirmFullSystemDisplay( selection, subSelection, tertiaryXslider, colorsFactor, locationOfStillMovement/* + teenyTinyItsyWitzyBit*/, locationOfColorMovement, x, y, repeatFactor, fullSliderRunThrough, rainbowWidth, numberOfClockHands, 1 * numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, fanOutRadius, colorFlipper, xScaleFactor, yScaleFactor, lengthOfColorBar, sliderInterval, suckInExponentialness, suckInDivisor, rainbowOvalFitting, gradientExpontierMultiplier, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR, finalBasisImagePR[0], finalBackgroundBasisImagePR[0], finalBasisImagePR[1], finalBackgroundBasisImagePR[1], finalBasisImagePR[2], finalBackgroundBasisImagePR[2], finalBasisCorrectedImagePR, finalBackgroundBasisCorrectedImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); break;//case 0-30, 8 x 4 + Clear
							case 30: tertiaryPW.setColor( x, y, diagnostics.RainbowFirmFullColorDisplay( selection, subSelection, tertiaryXslider, colorsFactor, locationOfStillMovement/* + teenyTinyItsyWitzyBit*/, locationOfColorMovement, x, y, repeatFactor, fullSliderRunThrough, rainbowWidth, numberOfClockHands, 1 * numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, fanOutRadius, colorFlipper, xScaleFactor, yScaleFactor, lengthOfColorBar, sliderInterval, suckInExponentialness, suckInDivisor, rainbowOvalFitting, gradientExpontierMultiplier, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR, finalBasisImagePR[0], finalBackgroundBasisImagePR[0], finalBasisImagePR[1], finalBackgroundBasisImagePR[1], finalBasisImagePR[2], finalBackgroundBasisImagePR[2], finalBasisCorrectedImagePR, finalBackgroundBasisCorrectedImagePR, Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); break;//13 x 8 Left To Right Top To Bottom Make SuperColorSet[][][];
							case 31: tertiaryPW.setColor( x, y, diagnostics.RainbowDisplayType( selection, subSelection, tertiaryXslider, colorsFactor, locationOfStillMovement, locationOfColorMovement, x, y, repeatFactor, fullSliderRunThrough, rainbowWidth, numberOfClockHands, fanOutRadius, 1 * numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, lengthOfColorBar, sliderInterval, suckInExponentialness, suckInDivisor, rainbowOvalFitting, gradientExpontierMultiplier, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR, finalBasisImagePR[currentBasisViewIndex], finalBackgroundBasisImagePR[currentBasisViewIndex], finalBasisImagePR[currentBasisViewIndex], Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 32: tertiaryPW.setColor( x, y, diagnostics.RainbowBackGroundTextFadeIn( selection, subSelection, tertiaryXslider, colorsFactor, locationOfStillMovement, locationOfColorMovement, x, y, repeatFactor, fullSliderRunThrough, rainbowWidth, numberOfClockHands, fanOutRadius, 1 * numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, lengthOfColorBar, sliderInterval, suckInExponentialness, suckInDivisor, rainbowOvalFitting, gradientExpontierMultiplier, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR, finalBasisImagePR[currentBasisViewIndex], finalBackgroundBasisImagePR[currentBasisViewIndex], finalBasisImagePR[currentBasisViewIndex], Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 33: tertiaryPW.setColor( x, y, diagnostics.RainbowBooleanSwitchControl( selection, subSelection, tertiaryXslider, colorsFactor, locationOfStillMovement, locationOfColorMovement, x, y, repeatFactor, fullSliderRunThrough, rainbowWidth, numberOfClockHands, fanOutRadius, 1 * numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, lengthOfColorBar, sliderInterval, suckInExponentialness, suckInDivisor, rainbowOvalFitting, gradientExpontierMultiplier, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalCurrentBrowserImagePR, finalBasisImagePR[currentBasisViewIndex], finalBackgroundBasisImagePR[currentBasisViewIndex], finalBasisImagePR[currentBasisViewIndex], Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 34: tertiaryPW.setColor( x, y, battleInterface.BattleInterfaceRaster( colorsFactor, locationOfStillMovement/* + teenyTinyItsyWitzyBit*/, locationOfColorMovement, fullSliderRunThrough, x, y, repeatFactor, rainbowWidth, numberOfClockHands, 1 * numberOfRingsVerticallyForFwa, ringDisplacement, innerCutOffRadius, outerCutOffRadius, spiralFactor, shrunkenFactor, numberOfSpirals, halfScreenDiagionalLength, exponentValue, colorFlipper, xScaleFactor, yScaleFactor, suckInExponentialness, suckInDivisor, lengthOfColorBar, rainbowOvalFitting, reversedColors, reversedRainbow, swapColorComboDuo, brightnessMultiplyer, gradations, opacityBefore, opacityAfter, blockAdjustment, finalBasisCorrectedImagePR.getColor( x, y ), finalBackgroundBasisCorrectedImagePR.getColor( x, y ), finalCurrentBrowserImagePR.getColor( x, y ), Dim, typeOfDisplay, initialColorContrastingChoice, colorTooSimilarReplacementColor, colorDifference, invertBasisFromBackground, auxiliarySwitch, invertInsteadOfReverse, invertBasisPicture, invertBoth, invertJustOrigional, invertTextAlways, nextStepColorTooSimilarEffect, textOutlineBlendingToBasisInvert, textColorToOverlayCurrent, backgroundColorToOverlayCurrent, basisOverlaySperateTextColorCurrent, basisOverlaySperateBackgroundColorCurrent, textColorOverlay, backgroundColorOverlay, showBasisOverlayForText, showBasisOverlayForBackground, basisOverlaySeperateTextFade, basisOverlaySeperateBackgroundFade, useFadeAtAll, overlayColorScheme, colorSet ) ); /* Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*10); } catch (InterruptedException e) { System.out.println("Interrupted."); } } ); */ break;
							case 35: tertiaryPW.setColor( x, y, vibrantColors.Clear); break;//For Your Clients Do Not Make This Into Something OtherWise Move Onto 36
							}// */ //"RainbowHorizontal" "RainbowClock" "RainbowRing" "RainbowStrobe" "RainbowSpiral" "RainbowCheapFractal" "RainbowExponentiator" "RainbowDoubleExponentiator" "RainbowFlasher" Not For PostPattern2D: "TransparencySliderFunction", "TheRainbowSoftColorFunction", "SimpleRainbow", "SimpleRainbowReverse", "SimpleCustomColor", "DiskVaryated", "DiskGradated", "RingVaryated", "RingGradated", "ClockVaryated", "ClockGradated", "SpiralVaryated", "SpiralGradated", "CheapFractalVaryated", "CheapFractalGradated", "StrobeVaryated", "StrobeGradated", "Exponentiator", "DoubleExponentiator" For Pattern2D; Rainbow Before Without Varyated Or Gradated For PostPattern2D Browser Support + Splash Screen "RainbowBuddhism" "RainbowMagiElite" "RainbowFwaLogoSplash" "RainbowFwaFlagLogoSplash"
							//try { Thread.sleep(1);} catch (InterruptedException e) {System.out.println("Interrupted.");}
						}
						//try { Thread.sleep(10);} catch (InterruptedException e) {System.out.println("Interrupted.");}
						//Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*100); } catch (InterruptedException e) { System.out.println("Interrupted."); } } );
						//System.out.println( "On Encoding Frame: " + (int)Math.round( ( videoFrameQuantity * tertiaryXslider / videoSequenceLoopQuantity ) + 1 ) + " y: " + y );
					}
					System.out.println( "After PixelWriter Done With Frame: " + (int)Math.round( ( videoFrameQuantity * tertiaryXslider / videoSequenceLoopQuantity ) + 1 ) );
					try { Thread.sleep((long)threadThrottle*2666);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// #/
					System.out.println("Got To Video Control Variables Section.");
					///tertiaryStage.setScene(thirdSceneForWriting);
					//thirdSceneForWriting.setRoot( backGroundStackPane );
					//tertiaryStage.setScene( thirdSceneForWriting );
					//tertiaryStage.getScene().setRoot( backGroundStackPane );
					//tertiaryStage.initStyle(StageStyle.TRANSPARENT);
					//tertiaryImageView.setOpacity(1);//This Would Be The Best Way To Change Background To Innate User/Inventor/Developer Color Choices
					//thirdSceneForWriting.setFill(Color.BLACK);
					//thirdStackPaneForWriting.setStyle("-fx-background-color: #000000;");//Gives Black Background Color Or Any Hex Color Number Manually Put In Here And Only Here
					//thirdStackPaneForWriting.setOpacity(1);//Needed Also For Background Color To Apply To All Batch Productions
					//Old Try: thirdStackPaneForWriting.setStyle("-fx-background-color: #000000;"); //#33495f;"); Too Late In Code Look To Before thirdStackPaneForWriting Is Used To Make Scene
					/////tertiaryStage.show();
					try { Thread.sleep((long)threadThrottle*4198);//2198);
					} catch (InterruptedException e) {	
						System.out.println("Interrupted.");
					}// #/
					//writableImage = (WritableImage) tertiaryStage.getScene().snapshot(interimImage);
					//writableImage = (WritableImage) thirdSceneForWriting.snapshot(null);
					//writableImage = (WritableImage) thirdSceneForWriting.snapshot(interimImage);
					writableImage = (WritableImage) tertiaryImageView.getImage();//interimImage;
					Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*17688);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					} } );// */
					//thirdScene.getCamera().snapshot(snapshotParameters, thirdStackPane.snapshot(snapshotParameters, tertiaryWritableImage) );//tertiaryWritableImage);
					try { Thread.sleep((long)threadThrottle*1634);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// #/
					bufferedImage = SwingFXUtils.fromFXImage( writableImage, new BufferedImage( (int)Dim.getWidth(), (int)Dim.getHeight(), BufferedImage.TYPE_INT_ARGB) );
					/*try { Thread.sleep((long)threadThrottle*1834);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// */
					//int alpha = 0, red = 0, green = 0, blue = 0,
					/*int argb[][] = new int[(int)Dim.getWidth()][(int)Dim.getHeight()];
					for (int yy = 0; yy < Dim.getHeight(); yy++)
						for (int xx = 0; xx < Dim.getWidth(); xx++) 
							argb[xx][yy] = bufferedImage.getRGB(xx, yy);// */
					/*alpha = (argb >> 24) & 0xFF; // Extract alpha (most significant byte)
	 				red = (argb >> 16) & 0xFF; // Extract red
	 				green = (argb >> 8) & 0xFF; // Extract green
	 				blue = argb & 0xFF; // Extract blue
	 				argb = (alpha << 24) | (red << 16) | (green << 8) | blue;// */
					//bufferedImage.setRGB(xx, yy, argb);
					/*try { Thread.sleep((long)threadThrottle*2477);//tertiaryThread.sleep(777);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// */
					/*bufferedImage = new BufferedImage( (int)Dim.getWidth(), (int)Dim.getHeight(), BufferedImage.TYPE_INT_ARGB);
					for (int yy = 0; yy < Dim.getHeight(); yy++)
						for (int xx = 0; xx < Dim.getWidth(); xx++)
							bufferedImage.setRGB(xx, yy, argb[xx][yy]);// */
					try { Thread.sleep((long)threadThrottle*2477);//tertiaryThread.sleep(777);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// */
					Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*2688);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					} } );// */
					try {
						File outputFile = new File("C:/RainbowFirm/RainbowFirmDotComBufferImage.png");
						ImageIO.write(bufferedImage, "png", outputFile);
					} catch (IOException e) {
						throw new RuntimeException(e);
					}

					try { Thread.sleep((long)threadThrottle*1834);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// #/
					//writableImage = (WritableImage) tertiaryImageView.getImage();
					thirdScene.snapshot( writableImage );
					//thirdStackPaneForBackground.getChildren().removeAll( tertiaryBackupWorkAroundImageView, tertiaryCurrentBrowserImageView, tertiaryBasisImageView[basisImageViewIndex], tertiaryBackgroundBasisImageView[basisImageViewIndex] );
					//thirdStackPaneForBackground.getChildren().addLast(thirdStackPaneForWriting);
					//thirdStackPaneForBackground.getChildren().get(thirdStackPaneForWriting.getChildren().size()-1);
					//thirdSceneForWriting = new Scene(thirdStackPaneForWriting);
					/////tertiaryStage.setScene(thirdStackPaneForWriting.getScene());
					tertiaryStage.sizeToScene();
					try { Thread.sleep((long)threadThrottle*2898);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// #/
					tertiaryStage.show();
					//tertiaryStage.setFullScreen(tertiaryIsFullScreened);
					try { Thread.sleep((long)threadThrottle*3477);//tertiaryThread.sleep(777);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// */
					System.out.println( "Just Before Video Encoding Of Frame: " + (int)Math.round( ( videoFrameQuantity * tertiaryXslider / videoSequenceLoopQuantity ) + 1 ) );
					if ( videoFrameQuantity >= 6 )
					{
						try {
							//System.out.println( "bufferedImage Height: " + bufferedImage.getHeight() );

							//frame = fxFrameConverter.convert(writableImage);
							//frame = java2DFrameConverter.convert(bufferedImage);
							bufferedImage = ImageIO.read(new File("C:/RainbowFirm/RainbowFirmDotComBufferImage.png"));
							try { Thread.sleep((long)threadThrottle*1477);//tertiaryThread.sleep(777);
							} catch (InterruptedException e) {
								System.out.println("Interrupted.");
							}
							//frame = java2DFrameConverter.convert(bufferedImage);
							//frame = java2DFrameConverter.convert(ImageIO.read(new File("C:/RainbowFirm/RainbowFirmDotComBufferImage.png")));
							try { Thread.sleep((long)threadThrottle*2477);//tertiaryThread.sleep(777);
							} catch (InterruptedException e) {
								System.out.println("Interrupted.");
							}// */
							Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*2688);
							} catch (InterruptedException e) {
								System.out.println("Interrupted.");
							} } );// */
							thirdEncoder.encodeImage( bufferedImage );
							//thirdRecorder.record(frame);//,avutil.AV_PIX_FMT_ARGB);//AV_PIX_FMT_RGBA//avutil.AV_PIX_FMT_RGB24///avutil.AV_PIX_FMT_RGB32_1//AV_PIX_FMT_RGB32//,1
							//thirdEncoder.encodeImage( bufferedImage.getSubufferedImage( 0, 0, 666, 888 ) );
						}
						catch(IOException ie) { ie.printStackTrace(); }
						System.out.println("Finished Encoding Frame: " + (int)Math.round( ( videoFrameQuantity * tertiaryXslider / videoSequenceLoopQuantity ) + 1 ) + " Of " + videoFrameQuantityForComment );
					}
					try { Thread.sleep((long)threadThrottle*2599);//tertiaryThread.sleep(777);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// */

					//bufferedImage = SwingFXUtils.fromFXImage(thirdSceneForWriting.snapshot( tertiaryWritableImage /*writableImageArray[frameIndex]*/ )/*tertiaryImageView[frameIndex].getScene().snapshot(tertiaryWritableImage)*//*thirdSceneForWriting.getCamera().snapshot(snapshotParameters, tertiaryWritableImage)*/, bufferedImage );
					if ( tertiaryXslider < 1 && tertiaryXslider > -1 )//(int)Math.round(colorDisplacement) + radialDistance * 2 * Math.PI / numberOfClockHandsForRainbow / 2)
					{
						try {
							File outputFile = new File("C:/RainbowFirm/" + selectionPrefix + basisIndexChoiceText /*+ selection*/ + colorSetLabel + ".png");//File outputFile = new File("C:/RainbowFirm/TestImage00.png");Maybe Useful After Selection: + subSelection
							ImageIO.write(bufferedImage, "png", outputFile);
						} catch (IOException e) {
							throw new RuntimeException(e);
						}
						//displayInputForScreenShot = new FileInputStream("C:\\\\RainbowFirm\\TestImage00.png");
						displayInputForScreenShot = new FileInputStream("C:\\\\RainbowFirm\\" + selectionPrefix + basisIndexChoiceText /*+ selection*/ + colorSetLabel + ".png");
						displayFitImage = new Image(displayInputForScreenShot);
						displayImageView.setImage(displayFitImage);
						try { Thread.sleep((long)threadThrottle*9999);
						} catch (InterruptedException e) {
							System.out.println("Interrupted.");
						}// #/
						System.out.println( "Primary Picture OutPut File At: C:/RainbowFirm/" + selectionPrefix + basisIndexChoiceText /*+ selection*/ + colorSetLabel + ".png b: " + b + " Produced Successfully. b ends Before: " + numberOfDiagnosticsSecondaryIndexies );
					}
						if ( videoFrameQuantity >= 6 )
						{
							int numberOfTestImages = 24;
							for ( int testImageNumber = 1; testImageNumber <= numberOfTestImages; testImageNumber++ )
								if ( tertiaryXslider > testImageNumber * videoSequenceLoopQuantity / numberOfTestImages - 1 && tertiaryXslider <= testImageNumber * videoSequenceLoopQuantity / numberOfTestImages + 1 )
								{
									String testImageFilePath = "C:/RainbowFirm/" + selectionPrefix + "TestImage" + testImageNumber + ".png";
									try {
										File outputFile = new File(testImageFilePath);
										ImageIO.write(bufferedImage, "png", outputFile);
									} catch (IOException e) {
										throw new RuntimeException(e);
									}
									try { Thread.sleep((long)threadThrottle*9999);
									} catch (InterruptedException e) {
										System.out.println("Interrupted.");
									}
									System.out.println( "testImageNumber: " + testImageNumber + " of numberOfTestImages: " + numberOfTestImages + " Written To: " + testImageFilePath );
									/*displayInputForScreenShot = new FileInputStream("C:\\\\RainbowFirm\\" + selectionPrefix + "TestImage" + testImageNumber + "png");
									displayFitImage = new Image(displayInputForScreenShot);
									displayImageView.setImage(displayFitImage);
									
									//tertiaryStage.close();
									try { Thread.sleep((long)threadThrottle*9999);
									} catch (InterruptedException e) {
										System.out.println("Interrupted.");
									}// #/
									//System.gc();
									try { Thread.sleep((long)threadThrottle*5555);
									} catch (InterruptedException e) {
										System.out.println("Interrupted.");
									}// #/
									//tertiaryStage = new Stage();
									//tertiaryStage.setFullScreen(tertiaryIsFullScreened);
									//tertiaryStage.setHeight( Dim.getHeight() );
									//tertiaryStage.setWidth( Dim.getWidth() );
									//tertiaryStage.show();
									try { Thread.sleep((long)threadThrottle*4444);
									} catch (InterruptedException e) {
										System.out.println("Interrupted.");
									}// #/
									Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*18888);
									} catch (InterruptedException e) {
										System.out.println("Interrupted.");
									} } );// */
								}
						}
					if ( videoFrameQuantity == 1 )
						break;
					//tertiaryStage.setScene(thirdSceneForWriting);
					tertiaryStage.sizeToScene();
					try { Thread.sleep((long)threadThrottle* 4000 );//tertiaryThread.sleep(4879);//4879//10000
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// */tertiaryStage.close();
					Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*9425);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					} } );// */
					//if ( tertiaryXslider != 0 && tertiaryXslider / ( sliderInterval * numberOfScrollFrames ) - Math.floor( tertiaryXslider / ( sliderInterval * numberOfScrollFrames ) ) < .0001)//interval * 11->Twice + (int)(tertiaryXslider / ( interval * 11 )) + " );\r\n" + 
					//{
					/*try ( PrintWriter printWriterOut = new PrintWriter(thirdXSliderFile.getPath() ) )
					{
						printWriterOut.println("+" + tertiaryXslider + "d");
						printWriterOut.close();
					}
					catch(IOException ie) { ie.printStackTrace(); }// */
					/*try ( PrintWriter printWriterOut = new PrintWriter(thirdJavaScriptFile.getPath() ) )
					{
						printWriterOut.println("function scrollContinuously( timeInterval )\r\n" + 
								"{\r\n" + 
								"	timeInterval = 444;\r\n" + 
								"	window.setInterval( scrollWin, timeInterval );\r\n" + 
								"}\r\n" + 
								"function scrollWin()\r\n" + 
								"{\r\n" + 
								" window.scrollBy( 0, 100 )\\r\\n" +
								"}");
						printWriterOut.close();
					}
					catch(IOException ie) { ie.printStackTrace(); }// */
					//scrollHappened = true;
					//}
					/*try {
					thirdRecorder.flush();
				} catch (org.bytedeco.javacv.FFmpegFrameRecorder.Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace(); }// */
					System.out.println("tertiaryXslider: " + tertiaryXslider);
					tertiaryXslider = tertiaryXslider + sliderInterval;
					try { Thread.sleep((long)threadThrottle* 6000 );// + (int)Math.round( ( videoFrameQuantity * tertiaryXslider / videoSequenceLoopQuantity ) + 1 ) * 100 );//tertiaryThread.sleep(4879);//4879//10000
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					}// */
					Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*9425);
					} catch (InterruptedException e) {
						System.out.println("Interrupted.");
					} } );// */
				}
				System.out.println("Finished colorSet ------- All at b: " + b + " b ends Before: " + numberOfDiagnosticsSecondaryIndexies + " a: " + a + " a ends Before: " + numberOfDiagnosticsIndexies + " basisIndexChoiceText: " + basisIndexChoiceText + " Frame: " + (int)Math.round( ( videoFrameQuantity * tertiaryXslider / videoSequenceLoopQuantity ) + 1 ) + " Of " + videoFrameQuantityForComment );
				b++;
				if ( usefulColorsGoneThrough && b < numberOfDiagnosticsSecondaryIndexies )
					if ( b == 6 )
						b = 13;
					else if ( b == 17 )
						b = 19;
					else if ( b == 25 )
						b = 27;
					else if ( b == 35 )
						b = 36;
					else if ( b == 40 )
						b = 42;
					else if ( b == 46 )
						b = 48;
				if ( blankWebPageIs && b < numberOfDiagnosticsSecondaryIndexies )
					if ( b == 6 )
						b = 13;
					else if ( b == 17 )
						b = 19;
					else if ( b == 25 )
						b = 27;
					else if ( b == 35 )
						b = 36;
					else if ( b == 40 )
						b = 42;
					else if ( b == 46 )
						b = 48;
					else if ( b == 60 )
						b = 61;
					else if ( b == 62 )
						b = 63;
					else if ( b == 64 )
						b = 65;
					else if ( b == 66 )
						b = 67;
					else if ( b == 68 )
						b = 92;
					else if ( b == 93 )
						b = 94;
					else if ( b == 99 )
						b = 100;
					else if ( b == 101 )
							b = 102;
					else if ( b == 115 )
						b = 117;
			}
			System.out.println("Finished BasisIndex ===== All at a: " + a + " a ends Before: " + numberOfDiagnosticsIndexies + " basisIndexChoiceText: " + basisIndexChoiceText + " b: " + b + " b ends Before: " + numberOfDiagnosticsSecondaryIndexies + " Frame: " + (int)Math.round( ( videoFrameQuantity * tertiaryXslider / videoSequenceLoopQuantity ) + 1 ) + " Of " + videoFrameQuantityForComment );
			a++;
		}
		try { Thread.sleep((long)threadThrottle*13479);//tertiaryThread.sleep(4879);//4879//10000
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// */
		Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*100000);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		} } );// */
		System.out.println("------------============ Main Program Loop Over ============------------");
		// Finalize the encoding, i.e. clear the buffers, write the header, etc.
		if ( videoFrameQuantity >= 6 )
		{
			/*try {
				//fxFrameConverter.close();
				java2DFrameConverter.close();
				thirdRecorder.stop();
				thirdRecorder.release();
				//ffMpegLogCallback.close();
			} catch (org.bytedeco.javacv.FFmpegFrameRecorder.Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}*/
			try { thirdEncoder.finish(); }
			catch(IOException ie1) { ie1.printStackTrace(); }
			finally { NIOUtils.closeQuietly(tertiaryVideoOut); }
			System.out.println("Encoding Finished");
		}
		try { Thread.sleep((long)threadThrottle*2500);//tertiaryThread.sleep(4879);//4879//10000
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		}// */
		Platform.runLater( () -> { try { Thread.sleep((long)threadThrottle*25000);
		} catch (InterruptedException e) {
			System.out.println("Interrupted.");
		} } );// */
		if ( basisImageViewIndex < 1000 || tertiaryRainbowStruct == null )
		{
			System.out.println("RainbowFirm.com System Exiting Check C:\\RainbowFirm For Media Generated By This Fwa Free Ware Rainbow Software");
			System.exit(0);
		}
		else// if ( basisImageViewIndex >= 1000 && tertiaryRainbowStruct != null ) For NonFwaAgents.
		{
			tertiaryStage.hide();
			tertiaryStage.close();
			//tertiaryStage = new Stage();
			//tertiaryStage.initStyle(StageStyle.TRANSPARENT);
		}
		return bufferedImage;
	}
}

/*SeekableByteChannel out = null;
try {
 out = NIOUtils.writableFileChannel("/tmp/output.mp4");
 // for Android use: AndroidSequenceEncoder
 AWTSequenceEncoder encoder = new AWTSequenceEncoder(out, Rational.R(25, 1));
 for (...) {
 // Generate the image, for Android use Bitmap
 BufferedImage image = ...;
 // Encode the image
 encoder.encodeImage(image);
 }
 // Finalize the encoding, i.e. clear the buffers, write the header, etc.
 encoder.finish();
} finally {
 NIOUtils.closeQuietly(out);
}//*/

/*new Timer().schedule(
					new TimerTask() {
						@Override
						public void run() {
							synchronized ( tertiaryPW )
							{
boolean donePixelWriting = false;
								while ( !donePixelWriting )
								//System.out.println("ping");
								//thirdStackPane.getChildren().remove(tertiaryImageView);
								System.out.println("Got To Primary for Statement");
								//Platform.runLater( () -> {
								for ( int x = 0; x < Dim.getWidth(); x++) //Dim.getWidth(); x++)//Comment Out Here For Circular Rainbow
								{
									for ( int y = 0; y < Dim.getHeight(); y++)
									{
									}
								}
								donePixelWriting = true;
								try {
									tertiaryPW.wait();
								} catch (InterruptedException e) {
									// TODO Auto-generated catch block
									e.printStackTrace();
								}
							}
						}
					}, 0, 8000);// */


/*videoSplittingQuantity = 4;//For ColorTooSimilar->ColorSlider->TransparencySlider->RainbowSoftColor Diagnostics For At Least 24 Frames From RainbowSetup.Setup: fRateDivisor = 24;
if ( tertiaryXslider < videoSequenceLoopQuantity / videoSplittingQuantity )
	tertiaryPW.setColor( x, y, diagnostics.ColorTooSimilar( x, y, tertiaryXslider * thirdScreen.getBounds().getWidth() * videoSplittingQuantity / videoSequenceLoopQuantity, Dim ) );
else if ( tertiaryXslider < 2 * videoSequenceLoopQuantity / videoSplittingQuantity )
	tertiaryPW.setColor( x, y, diagnostics.ColorSlider( x, y, tertiaryXslider * thirdScreen.getBounds().getWidth() * videoSplittingQuantity / videoSequenceLoopQuantity, 6 * ( tertiaryXslider - videoSequenceLoopQuantity / videoSplittingQuantity ) * videoSplittingQuantity / videoSequenceLoopQuantity, (int)Math.abs(Math.floor( Math.pow( 2, gradientExpontierMultiplier * ( tertiaryXslider - videoSequenceLoopQuantity / videoSplittingQuantity ) / 5 * videoSplittingQuantity / 96 - 1 / 5 ) - 1 ) ), Dim ) );
else if ( tertiaryXslider < 3 * videoSequenceLoopQuantity / videoSplittingQuantity )
	tertiaryPW.setColor( x, y, diagnostics.TransparencySlider( x, y, tertiaryXslider * thirdScreen.getBounds().getWidth() * videoSplittingQuantity / videoSequenceLoopQuantity, 6 * ( tertiaryXslider - 2 * videoSequenceLoopQuantity / videoSplittingQuantity ) * videoSplittingQuantity / videoSequenceLoopQuantity, (int)Math.abs(Math.floor( Math.pow( 2, gradientExpontierMultiplier * ( tertiaryXslider - 2 * videoSequenceLoopQuantity / videoSplittingQuantity ) / 5 * videoSplittingQuantity / 96 - 1 / 5 ) - 1 ) ), .5, 1, Dim ) );
else
	tertiaryPW.setColor( x, y, diagnostics.RainbowSoftColor( x, y, tertiaryXslider * thirdScreen.getBounds().getWidth() * videoSplittingQuantity / videoSequenceLoopQuantity, 6 * ( tertiaryXslider - 3 * videoSequenceLoopQuantity / videoSplittingQuantity ) * videoSplittingQuantity / videoSequenceLoopQuantity, (int)Math.abs(Math.floor( Math.pow( 2, gradientExpontierMultiplier * ( tertiaryXslider - 3 * videoSequenceLoopQuantity / videoSplittingQuantity ) / 5 * videoSplittingQuantity / 96 - 1 / 5 ) - 1 ) ), vibrantColorCombos.ImperialFXcolors, vibrantColorCombos.ImperialColorsNum, 0, 1, Dim ) ); break;
*/