package Savage.CommunicationsAndSensors.Sonar;

import org.web3d.x3d.jsail.Core.*;
import org.web3d.x3d.jsail.EnvironmentalEffects.*;
import org.web3d.x3d.jsail.EnvironmentalSensor.*;
import org.web3d.x3d.jsail.fields.*;
import org.web3d.x3d.jsail.Geometry3D.*;
import org.web3d.x3d.jsail.Grouping.*;
import org.web3d.x3d.jsail.Lighting.*;
import org.web3d.x3d.jsail.Navigation.*;
import org.web3d.x3d.jsail.Networking.*;
import org.web3d.x3d.jsail.Rendering.*;
import org.web3d.x3d.jsail.Shape.*;
import org.web3d.x3d.jsail.Text.*;
import org.web3d.x3d.jsail.Texturing.*;

// Javadoc metadata annotations follow, see below for X3DJSAIL Java source code.
/**
 * <p> Example scene AuvwSonarVisWindowScene. </p>
 <p> Related links: Catalog page <a href="../../../../CommunicationsAndSensors/Sonar/AuvwSonarVisWindowSceneIndex.html" target="_blank">AuvwSonarVisWindowScene</a>,  source <a href="../../../../CommunicationsAndSensors/Sonar/AuvwSonarVisWindowScene.java">AuvwSonarVisWindowScene.java</a>, <a href="https://www.web3d.org/x3d/content/examples/X3dResources.html" target="_blank">X3D Resources</a>, <a href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html" target="_blank">X3D Scene Authoring Hints</a>, and <a href="https://www.web3d.org/x3d/content/X3dTooltips.html" target="_blank">X3D Tooltips</a>. </p>
	<table style="color:black; border:0px solid; border-spacing:10px 0px;">
        <caption>Scene Meta Information</caption>
		<tr style="background-color:silver; border-color:silver;">
			<td style="text-align:center; padding:10px 0px;"><i>meta tags</i></td>
			<td style="text-align:left;   padding:10px 0px;">&nbsp; Document Metadata </td>
		</tr>

		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> title </i> </td>
			<td> <a href="../../../../CommunicationsAndSensors/Sonar/AuvwSonarVisWindowScene.x3d">AuvwSonarVisWindowScene.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> creator </i> </td>
			<td> LT Scott Rosetti USN </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> generator </i> </td>
			<td> SceneGenerator.java </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> created </i> </td>
			<td> 22 May 2005 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> modified </i> </td>
			<td> 20 October 2019 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="http://metcast.metnet.navy.mil/cgi-bin/mcsrvr/server" target="_blank">http://metcast.metnet.navy.mil/cgi-bin/mcsrvr/server</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> identifier </i> </td>
			<td> <a href="https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonar/AuvwSonarVisWindowScene.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonar/AuvwSonarVisWindowScene.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> license </i> </td>
			<td> <a href="../../../../CommunicationsAndSensors/Sonar/../../license.html">../../license.html</a> </td>
		</tr>
		<tr style="background-color:silver; border-color:silver;">
			<td style="text-align:center;" colspan="2">  &nbsp; </td>
		</tr>
	</table>

	<p>
		This program uses the
		<a href="https://www.web3d.org/specifications/java/X3DJSAIL.html" target="_blank">X3D Java Scene Access Interface Library (X3DJSAIL)</a>.
		It has been produced using the 
		<a href="https://www.web3d.org/x3d/stylesheets/X3dToJava.xslt" target="_blank">X3dToJava.xslt</a>
		stylesheet
	       (<a href="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/X3dToJava.xslt" target="_blank">version control</a>)
                which is used to create Java source code from an original <code>.x3d</code> model.
	</p>

	* @author LT Scott Rosetti USN
 */

public class AuvwSonarVisWindowScene
{
	/** Default constructor to create this object. */
	public AuvwSonarVisWindowScene ()
	{
	  initialize();
	}

	/** Create and initialize the X3D model for this object. */
	public final void initialize()
	{
            try { // catch-all
  x3dModel = new X3D().setProfile(X3D.PROFILE_IMMERSIVE).setVersion(X3D.VERSION_3_0)
  .setHead(new head()
    .addComments(" Autogenerated via Sonar Visualization Metcast Query Web Service ")
    .addMeta(new meta().setName(meta.NAME_TITLE      ).setContent("AuvwSonarVisWindowScene.x3d"))
    .addMeta(new meta().setName(meta.NAME_CREATOR    ).setContent("LT Scott Rosetti USN"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("SceneGenerator.java"))
    .addMeta(new meta().setName(meta.NAME_CREATED    ).setContent("22 May 2005"))
    .addMeta(new meta().setName(meta.NAME_MODIFIED   ).setContent("20 October 2019"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("http://metcast.metnet.navy.mil/cgi-bin/mcsrvr/server"))
    .addMeta(new meta().setName(meta.NAME_IDENTIFIER ).setContent("https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonar/AuvwSonarVisWindowScene.x3d"))
    .addMeta(new meta().setName(meta.NAME_LICENSE    ).setContent("../../license.html")))
  .setScene(new Scene()
    .addChild(new WorldInfo().setTitle("AuvwSonarVisWindowScene.x3d"))
    .addChild(new Viewpoint("Initial_View").setDescription("Initial View").setJump(false).setOrientation(1.0,0.0,0.0,-.6).setPosition(0.0,26270.8,49999.5))
    .addChild(new Viewpoint("Layer_View").setDescription("Layer View (500m)").setJump(false).setPosition(0.0,-500.0,19999.8))
    .addChild(new Viewpoint("Top_View").setDescription("Birds Eye View").setJump(false).setOrientation(1.0,0.0,0.0,-1.57).setPosition(0.0,19999.8,0.0))
    .addChild(new Viewpoint("Satelite_View").setDescription("Satelite View (whole scene)").setJump(false).setOrientation(1.0,0.0,0.0,-1.57).setPosition(0.0,60102.10454446392,0.0))
    .addChild(new Viewpoint("Layer_Side_View").setDescription("Layer Side View (500m)").setJump(false).setOrientation(0.0,1.0,0.0,1.57).setPosition(19999.8,-500.0,0.0))
    .addChild(new Viewpoint("Depth_Scale_View").setDescription("Depth Scale").setJump(false).setPosition(0.0,-3135.5,-7999.799999999999))
    .addChild(new Viewpoint("Bathymetry_View").setDescription("Bathymetry View").setJump(false).setOrientation(0.0,1.0,0.0,1.57).setPosition(59999.399999999994,-3135.5,0.0))
    .addChild(new Background().setGroundAngle(new double[] {1.309,1.570796}).setGroundColor(new MFColor(new double[] {0.1,0.1,0.0,0.4,0.25,0.2,0.6,0.6,0.6})).setSkyAngle(new double[] {1.309,1.571}).setSkyColor(new MFColor(new double[] {0.0,0.2,0.7,0.0,0.5,1.0,1.0,1.0,1.0})))
    .addChild(new Group()
      .addChild(new Transform("Terrain").setTranslation(-19999.8,0.0,-19999.8)
        .addChild(new Shape()
          .setGeometry(new ElevationGrid().setCreaseAngle(1.57).setSolid(false).setXDimension(11).setXSpacing(3999.96).setZDimension(11).setZSpacing(3999.96).setHeight(getElevationGrid_6_19_height())
            .setColor(new Color().setColor(getColor_7_19_color()))))
        .addChild(new Transform().setTranslation(19999.8,0.0,19999.8)
          .addChild(new Shape()
            .setAppearance(new Appearance()
              .setMaterial(new Material().setEmissiveColor(0.0,0.0,1.0).setTransparency(.8)))
            .setGeometry(new Box().setSize(39999.6,0.1,39999.6)))))
      .addChild(new Transform("WATERCOLUMN")
        .addChild(new Shape()
          .setGeometry(new IndexedFaceSet().setSolid(false).setCoordIndex(new int[] {0,1,2,3,4,5,6,7,8,9,10,11,12,13})
            .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-19999.8,0.0,-19999.8,-19999.8,-5367.0,-19999.8,-15999.84,-5393.0,-19999.8,-11999.88,-5411.0,-19999.8,-7999.919999999998,-5414.0,-19999.8,-3999.959999999999,-5396.0,-19999.8,0.0,-5384.0,-19999.8,3999.9600000000028,-5397.0,-19999.8,7999.920000000002,-5421.0,-19999.8,11999.880000000001,-5429.0,-19999.8,15999.84,-5414.0,-19999.8,19999.8,-5382.0,-19999.8,19999.8,0.0,-19999.8,-19999.8,0.0,-19999.8}))))
          .setAppearance(new Appearance()
            .setMaterial(new Material().setEmissiveColor(0.0,0.0,1.0).setTransparency(.8))))
        .addChild(new Shape()
          .setGeometry(new IndexedFaceSet().setSolid(false).setCoordIndex(new int[] {0,1,2,3,4,5,6,7,8,9,10,11,12,13})
            .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {19999.8,0.0,-19999.8,19999.8,-5363.0,-19999.8,19999.8,-5382.0,-15999.84,19999.8,-5503.0,-11999.88,19999.8,-5666.0,-7999.919999999998,19999.8,-5783.0,-3999.959999999999,19999.8,-5768.0,0.0,19999.8,-5611.0,3999.9600000000028,19999.8,-5365.0,7999.920000000002,19999.8,-5183.0,11999.880000000001,19999.8,-5048.0,15999.84,19999.8,-4983.0,19999.8,19999.8,0.0,19999.8,19999.8,0.0,-19999.8}))))
          .setAppearance(new Appearance()
            .setMaterial(new Material().setEmissiveColor(0.0,0.0,1.0).setTransparency(.8))))
        .addChild(new Shape()
          .setGeometry(new IndexedFaceSet().setSolid(false).setCoordIndex(new int[] {0,1,2,3,4,5,6,7,8,9,10,11,12,13})
            .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {19999.8,0.0,19999.8,19999.8,-5116.0,19999.8,15999.84,-5053.0,19999.8,11999.88,-5050.0,19999.8,7999.919999999998,-5048.0,19999.8,3999.959999999999,-5057.0,19999.8,0.0,-5073.0,19999.8,-3999.9600000000028,-5078.0,19999.8,-7999.920000000002,-5089.0,19999.8,-11999.880000000001,-5109.0,19999.8,-15999.84,-5114.0,19999.8,-19999.8,-5089.0,19999.8,-19999.8,0.0,19999.8,19999.8,0.0,19999.8}))))
          .setAppearance(new Appearance()
            .setMaterial(new Material().setEmissiveColor(0.0,0.0,1.0).setTransparency(.8))))
        .addChild(new Shape()
          .setGeometry(new IndexedFaceSet().setSolid(false).setCoordIndex(new int[] {0,1,2,3,4,5,6,7,8,9,10,11,12,13})
            .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-19999.8,0.0,19999.8,-19999.8,-5327.0,19999.8,-19999.8,-5278.0,15999.84,-19999.8,-5236.0,11999.88,-19999.8,-5201.0,7999.919999999998,-19999.8,-5219.0,3999.959999999999,-19999.8,-5295.0,0.0,-19999.8,-5402.0,-3999.9600000000028,-19999.8,-5457.0,-7999.920000000002,-19999.8,-5369.0,-11999.880000000001,-19999.8,-5181.0,-15999.84,-19999.8,-5020.0,-19999.8,-19999.8,0.0,-19999.8,-19999.8,0.0,19999.8}))))
          .setAppearance(new Appearance()
            .setMaterial(new Material().setEmissiveColor(0.0,0.0,1.0).setTransparency(.8))))))
    .addComments(" Heads-up display (HUD), switchable for debugging ")
    .addChild(new Switch().setWhichChoice(0)
      .addChild(new Transform()
        .addChild(new Transform()
          .addChild(new ProximitySensor("Viewpoint").setSize(1000000000.0,1000000000.0,1000000000.0))
          .addChild(new Switch().setWhichChoice(0)
            .addChild(new Transform("HUD")
              .addChild(new Transform("SSP").setTranslation(1.9,0.75,-3.0)
                .addChild(new Anchor().setUrl(new String[] {"build/MetcastFiles/Images/sspImage.png","https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonar/build/MetcastFiles/Images/sspImage.png"})
                  .addChild(new Billboard().setAxisOfRotation(0.0,0.0,1.0)
                    .addChild(new Shape()
                      .setGeometry(new IndexedFaceSet().setCoordIndex(new int[] {0,1,2,3})
                        .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {0.5,0.3,0.0,-0.5,0.3,0.0,-0.5,-0.3,0.0,0.5,-0.3,0.0})))
                        .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {1.0,1.0,0.0,1.0,0.0,0.0,1.0,0.0}))))
                      .setAppearance(new Appearance()
                        .setTexture(new ImageTexture("SSPTexture").setRepeatS(false).setRepeatT(false).setUrl(new String[] {"build/MetcastFiles/Images/sspImage.png","https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonar/build/MetcastFiles/Images/sspImage.png"})))))))
              .addChild(new ROUTE().setFromNode("Viewpoint").setFromField("position_changed").setToNode("HUD").setToField("set_translation"))
              .addChild(new ROUTE().setFromNode("Viewpoint").setFromField("orientation_changed").setToNode("HUD").setToField("set_rotation"))
              .addChild(new Transform("Seatemp").setTranslation(-1.9,0.75,-3.0)
                .addChild(new Anchor().setUrl(new String[] {"build/MetcastFiles/Images/seaTempImage.png","https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonar/build/MetcastFiles/Images/seaTempImage.png"})
                  .addChild(new Billboard().setAxisOfRotation(0.0,0.0,1.0)
                    .addChild(new Shape()
                      .setGeometry(new IndexedFaceSet().setCoordIndex(new int[] {0,1,2,3})
                        .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {.5,.3,0.0,-.5,.3,0.0,-.5,-.3,0.0,.5,-.3,0.0})))
                        .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {1.0,1.0,0.0,1.0,0.0,0.0,1.0,0.0}))))
                      .setAppearance(new Appearance()
                        .setTexture(new ImageTexture("SeaTempTexture").setRepeatS(false).setRepeatT(false).setUrl(new String[] {"build/MetcastFiles/Images/seaTempImage.png","https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonar/build/MetcastFiles/Images/seaTempImage.png"})))))))
              .addChild(new Transform("Status").setTranslation(-1.85,-.78,-3.0)
                .addChild(new Shape()
                  .setGeometry(new Box().setSize(.75,.75,.01))
                  .setAppearance(new Appearance()
                    .setMaterial(new Material().setEmissiveColor(.01,.01,.01).setTransparency(.5))))
                .addChild(new Transform().setTranslation(0.0,.375,.01)
                  .addChild(new Shape()
                    .setGeometry(new Box().setSize(.77,.02,.01))
                    .setAppearance(new Appearance()
                      .setMaterial(new Material().setEmissiveColor(.1,.1,.1)))))
                .addChild(new Transform().setTranslation(0.0,-.375,.01)
                  .addChild(new Shape()
                    .setGeometry(new Box().setSize(.77,.02,.01))
                    .setAppearance(new Appearance()
                      .setMaterial(new Material().setEmissiveColor(.1,.1,.1)))))
                .addChild(new Transform().setTranslation(.375,0.0,.01)
                  .addChild(new Shape()
                    .setGeometry(new Box().setSize(.02,.75,.01))
                    .setAppearance(new Appearance()
                      .setMaterial(new Material().setEmissiveColor(.1,.1,.1)))))
                .addChild(new Transform().setTranslation(-.375,0.0,.01)
                  .addChild(new Shape()
                    .setGeometry(new Box().setSize(.02,.75,.01))
                    .setAppearance(new Appearance()
                      .setMaterial(new Material().setEmissiveColor(.1,.1,.1)))))
                .addChild(new Transform().setTranslation(0.0,0.24,.01)
                  .addChild(new Shape()
                    .setGeometry(new Box().setSize(.77,.02,.01))
                    .setAppearance(new Appearance()
                      .setMaterial(new Material().setEmissiveColor(.1,.1,.1)))))
                .addChild(new Transform("Time").setScale(.08,.08,.08).setTranslation(-0.6,1.9,0.0)
                  .addChild(new Shape()
                    .setGeometry(new Text().setString(new String[] {"Time: No Time Selected"}))))
                .addChild(new Transform("Latitude").setScale(.08,.08,.08).setTranslation(-0.33,.1,0.0)
                  .addChild(new Shape()
                    .setGeometry(new Text().setString(new String[] {"Lat: 15-0 N"}))))
                .addChild(new Transform("Longitude").setScale(.08,.08,.08).setTranslation(-0.33,0.0,0.0)
                  .addChild(new Shape()
                    .setGeometry(new Text().setString(new String[] {"Long: 145-0 W"}))))
                .addChild(new Transform("SeaState").setScale(.08,.08,.08).setTranslation(-0.33,-.3,0.0)
                  .addChild(new Shape()
                    .setGeometry(new Text().setString(new String[] {"SeaState: 0"}))))
                .addChild(new Transform("WindSpeed").setScale(.08,.08,.08).setTranslation(-0.33,-0.2,0.0)
                  .addChild(new Shape()
                    .setGeometry(new Text().setString(new String[] {"Wind: 0 kts from North"}))))
                .addChild(new Transform("Size").setScale(.08,.08,.08).setTranslation(-0.33,-0.1,0.0)
                  .addChild(new Shape()
                    .setGeometry(new Text().setString(new String[] {"Size: 20.0nm x 20.0nm"}))))
                .addChild(new Transform("Title").setScale(.1,.1,.1).setTranslation(-0.25,.28,0.0)
                  .addChild(new Shape()
                    .setGeometry(new Text().setString(new String[] {"Status Panel"}))))))))))
    .addChild(new Group()
      .addChild(new Transform().setScale(500.0,500.0,500.0).setTranslation(0.0,0.0,-19999.8)
        .addChild(new Billboard()
          .addChild(new Transform().setTranslation(-1.0,1.0,0.0)
            .addChild(new Shape()
              .setGeometry(new Text().setString(new String[] {"North"}))))
          .addChild(new Transform().setTranslation(0.0,-0.2,0.0)
            .addChild(new Shape()
              .setGeometry(new Text().setString(new String[] {"- 0"}))))
          .addChild(new Transform().setTranslation(0.0,-1.2,0.0)
            .addChild(new Shape()
              .setGeometry(new Text().setString(new String[] {"- 500"}))))
          .addChild(new Transform().setTranslation(0.0,-2.2,0.0)
            .addChild(new Shape()
              .setGeometry(new Text().setString(new String[] {"- 1000"}))))
          .addChild(new Transform().setTranslation(0.0,-3.2,0.0)
            .addChild(new Shape()
              .setGeometry(new Text().setString(new String[] {"- 1500"}))))
          .addChild(new Transform().setTranslation(0.0,-4.2,0.0)
            .addChild(new Shape()
              .setGeometry(new Text().setString(new String[] {"- 2000"}))))
          .addChild(new Transform().setTranslation(0.0,-5.2,0.0)
            .addChild(new Shape()
              .setGeometry(new Text().setString(new String[] {"- 2500"}))))
          .addChild(new Transform().setTranslation(0.0,-6.2,0.0)
            .addChild(new Shape()
              .setGeometry(new Text().setString(new String[] {"- 3000"}))))
          .addChild(new Transform().setTranslation(0.0,-7.2,0.0)
            .addChild(new Shape()
              .setGeometry(new Text().setString(new String[] {"- 3500"}))))
          .addChild(new Transform().setTranslation(0.0,-8.2,0.0)
            .addChild(new Shape()
              .setGeometry(new Text().setString(new String[] {"- 4000"}))))
          .addChild(new Transform().setTranslation(0.0,-9.2,0.0)
            .addChild(new Shape()
              .setGeometry(new Text().setString(new String[] {"- 4500"}))))
          .addChild(new Transform().setTranslation(0.0,-10.2,0.0)
            .addChild(new Shape()
              .setGeometry(new Text().setString(new String[] {"- 5000"}))))
          .addChild(new Transform().setTranslation(0.0,-11.2,0.0)
            .addChild(new Shape()
              .setGeometry(new Text().setString(new String[] {"- 5500"}))))
          .addChild(new Transform().setTranslation(0.0,-12.2,0.0)
            .addChild(new Shape()
              .setGeometry(new Text().setString(new String[] {"- 6000"}))))
          .addChild(new Transform().setTranslation(0.0,-6.0,0.0)
            .addChild(new Shape()
              .setGeometry(new Cylinder().setHeight(10).setRadius(.1)))))))
    .addChild(new PointLight().setIntensity(.2).setLocation(0.0,50000.0,0.0).setRadius(100000)));
            }
            catch (Exception ex)
            {       
                System.err.println ("*** Further hints on X3DJSAIL errors and exceptions at");
                System.err.println ("*** https://www.web3d.org/specifications/java/X3DJSAIL.html");
                throw (ex);
            }
	}
	// end of initialize() method

		/** Define subarrays using type double[] */
		private double[] getElevationGrid_6_19_height_1()
		{
			double[] value = {-5367.0,-5393.0,-5411.0,-5414.0,-5396.0,-5384.0,-5397.0,-5421.0,-5429.0,-5414.0,-5382.0,-5358.0,-5358.0,-5389.0,-5438.0,-5480.0,-5490.0,-5466.0,-5432.0,-5431.0,-5434.0,-5398.0,-5340.0,-5283.0,-5262.0,-5293.0,-5355.0,-5396.0,-5397.0,-5380.0,-5363.0,-5403.0,-5433.0,-5446.0,-5426.0,-5396.0,-5372.0,-5381.0,-5414.0,-5438.0,-5436.0,-5416.0,-5400.0,-5407.0,-5436.0,-5475.0,-5516.0,-5524.0,-5492.0,-5457.0,-5441.0,-5442.0,-5427.0,-5386.0,-5350.0,-5355.0,-5388.0,-5435.0,-5464.0,-5440.0,-5398.0,-5382.0,-5429.0,-5419.0,-5416.0,-5406.0,-5393.0,-5384.0,-5404.0,-5436.0,-5455.0,-5460.0,-5452.0,-5449.0,-5459.0,-5493.0,-5548.0,-5589.0,-5582.0,-5539.0,-5503.0,-5496.0,-5509.0,-5500.0,-5464.0,-5447.0,-5486.0,-5560.0,-5619.0,-5628.0,-5579.0,-5520.0,-5503.0,-5427.0,-5378.0,-5372.0,-5390.0,-5404.0,-5417.0,-5443.0,-5490.0,-5525.0,-5515.0,-5488.0,-5487.0,-5533.0,-5611.0,-5680.0,-5711.0,-5702.0,-5679.0,-5673.0,-5680.0,-5689.0,-5671.0,-5620.0,-5605.0,-5655.0,-5740.0,-5803.0,-5803.0,-5749.0,-5687.0,-5666.0,-5444.0,-5437.0,-5422.0,-5399.0,-5418.0,-5463.0,-5537.0,-5614.0,-5650.0,-5629.0,-5586.0,-5584.0,-5650.0,-5748.0,-5831.0,-5870.0,-5874.0,-5878.0,-5896.0,-5883.0,-5871.0,-5841.0,-5762.0,-5730.0,-5772.0,-5849.0,-5904.0,-5905.0,-5861.0,-5808.0,-5783.0,-5479.0,-5487.0,-5473.0,-5456.0,-5496.0,-5574.0,-5664.0,-5740.0,-5770.0,-5745.0,-5701.0,-5698.0,-5763.0,-5869.0,-5964.0,-6016.0,-6033.0,-6060.0,-6137.0,-6271.0,-6221.0,-5984.0,-5821.0,-5761.0,-5788.0,-5845.0,-5880.0,-5877.0,-5844.0,-5803.0,-5768.0,-5570.0,-5596.0,-5665.0,-5659.0,-5644.0,-5720.0,-5802.0,-5858.0,-5873.0,-5844.0,-5801.0,-5794.0,-5846.0,-5937.0,-6021.0,-6063.0,-6065.0,-6060.0,-6061.0,-6022.0,-5935.0,-5815.0,-5700.0,-5662.0,-5686.0,-5720.0,-5733.0,-5722.0,-5697.0,-5660.0,-5611.0,-5742.0,-5744.0,-5731.0,-5699.0,-5773.0,-5904.0,-5961.0,-5969.0,-5949.0,-5913.0,-5871.0,-5848.0,-5866.0,-5917.0,-5964.0,-5972.0,-5946.0,-5913.0,-5900.0,-5900.0,-5781.0,-5577.0,-5462.0,-5448.0,-5483.0,-5512.0,-5513.0,-5497.0,-5473.0,-5434.0,-5365.0,-5909.0,-5945.0,-6049.0,-6198.0,-6231.0,-6164.0,-6108.0,-6043.0,-5982.0,-5929.0,-5874.0,-5819.0,-5787.0,-5784.0,-5783.0,-5753.0,-5703.0,-5656.0,-5628.0,-5637.0,-5523.0,-5319.0,-5240.0,-5257.0,-5291.0,-5299.0,-5290.0,-5278.0,-5265.0,-5241.0,-5183.0,-5988.0,-5998.0,-6038.0,-6028.0,-6061.0,-6128.0,-6081.0,-5995.0,-5919.0,-5857.0,-5783.0,-5688.0,-5603.0,-5548.0,-5507.0,-5459.0,-5406.0,-5348.0,-5215.0,-4893.0,-4791.0,-4951.0,-5017.0,-5074.0,-5124.0,-5148.0,-5146.0,-5138.0,-5127.0,-5101.0,-5048.0,-5987.0,-5908.0,-5872.0,-5874.0,-5946.0,-5980.0,-5882.0,-5785.0,-5714.0,-5656.0,-5575.0,-5456.0,-5352.0,-5293.0,-5248.0,-5209.0,-5194.0,-5187.0,-5184.0,-5177.0,-5111.0,-5020.0,-4983.0,-4999.0,-5028.0,-5045.0,-5050.0,-5049.0,-5046.0,-5028.0,-4983.0,-5894.0,-5627.0,-5596.0,-5586.0,-5581.0,-5615.0,-5503.0,-5423.0,-5375.0,-5336.0,-5292.0,-5218.0,-5131.0,-5074.0,-5041.0,-5021.0,-5024.0,-5065.0,-5104.0,-5101.0,-5079.0,-5032.0,-4985.0,-4974.0,-4979.0,-4989.0,-4999.0,-5009.0,-5014.0,-5000.0,-4960.0,-5370.0,-5023.0,-4896.0,-4869.0,-4843.0,-5016.0,-5114.0,-5103.0,-5073.0,-5044.0,-5009.0,-4969.0,-4943.0,-4941.0,-4946.0,-4945.0,-4950.0,-4971.0,-4996.0,-4988.0,-4983.0,-4991.0,-4981.0,-4973.0,-4970.0,-4976.0,-4993.0,-5013.0,-5022.0,-5006.0,-4962.0,-5031.0,-4858.0,-4810.0,-4813.0,-4885.0,-5015.0,-4989.0,-4908.0,-4851.0,-4819.0,-4801.0,-4800.0,-4825.0,-4873.0,-4921.0,-4946.0,-4952.0,-4953.0,-4957.0,-4959.0,-4960.0,-4969.0,-4983.0,-4996.0,-5003.0,-5016.0,-5040.0,-5067.0,-5074.0,-5044.0,-4985.0,-4831.0,-4746.0,-4724.0,-4753.0,-4824.0,-4924.0,-4897.0,-4801.0,-4742.0,-4711.0,-4705.0,-4717.0,-4768.0,-4847.0,-4927.0,-4981.0,-5002.0,-4998.0,-4988.0,-4995.0,-4989.0,-4982.0,-5013.0,-5052.0,-5077.0,-5096.0,-5123.0,-5144.0,-5139.0,-5097.0,-5025.0,-4772.0,-4719.0,-4703.0,-4727.0,-4778.0,-4833.0,-4814.0,-4779.0,-4731.0,-4699.0,-4707.0,-4708.0,-4760.0,-4849.0,-4950.0,-5034.0,-5080.0,-5083.0,-5061.0,-5054.0,-5036.0,-5028.0,-5075.0,-5128.0,-5154.0,-5159.0,-5168.0,-5186.0,-5171.0,-5122.0,-5056.0,-4800.0,-4759.0,-4744.0,-4762.0,-4796.0,-4906.0,-4961.0,-4910.0,-4804.0,-4783.0,-4788.0,-4741.0,-4794.0,-4887.0,-5003.0,-5105.0,-5168.0,-5179.0,-5140.0,-5088.0,-5067.0,-5093.0,-5152.0,-5189.0,-5189.0,-5179.0,-5175.0,-5177.0,-5155.0,-5110.0,-5061.0,-4853.0,-4819.0,-4805.0,-4817.0,-4826.0,-4954.0,-5047.0,-4967.0,-4883.0,-4920.0,-4885.0,-4808.0,-4874.0,-4970.0,-5097.0,-5192.0,-5250.0,-5263.0,-5225.0,-5153.0,-5123.0,-5156.0,-5197.0,-5218.0,-5194.0,-5148.0,-5116.0,-5101.0,-5091.0,-5076.0,-5057.0,-4893.0,-4866.0,-4857.0,-4872.0,-4904.0,-5007.0,-5080.0,-5041.0,-4992.0,-4987.0,-4952.0,-4961.0,-4993.0,-5061.0,-5208.0,-5299.0,-5354.0,-5364.0,-5325.0,-5259.0,-5204.0,-5187.0,-5191.0,-5177.0,-5127.0,-5071.0,-5037.0,-5031.0,-5047.0,-5057.0,-5058.0,-4934.0,-4922.0,-4917.0,-4942.0,-4988.0,-5070.0,-5152.0,-5161.0,-5126.0,-5099.0,-5086.0,-5116.0,-5080.0,-5104.0,-5286.0,-5385.0,-5388.0,-5360.0,-5318.0,-5274.0,-5213.0,-5150.0,-5116.0,-5083.0,-5028.0,-4967.0,-4945.0,-4972.0,-5026.0,-5065.0,-5078.0,-5020.0,-5050.0,-5034.0,-5053.0,-5074.0,-5194.0,-5324.0,-5305.0,-5240.0,-5175.0,-5138.0,-5130.0,-5106.0,-5119.0,-5251.0,-5340.0,-5297.0,-5225.0,-5151.0,-5081.0,-5047.0,-5040.0,-5024.0,-4987.0,-4935.0,-4901.0,-4909.0,-4967.0,-5039.0,-5090.0,-5114.0,-5181.0,-5233.0,-5221.0,-5228.0,-5193.0,-5262.0,-5378.0,-5342.0,-5266.0,-5191.0,-5136.0,-5108.0,-5092.0,-5102.0,-5159.0,-5193.0,-5141.0,-5045.0,-4960.0,-4907.0,-4917.0,-4968.0,-4988.0,-4969.0,-4933.0,-4914.0,-4934.0,-4995.0,-5054.0,-5100.0,-5123.0,-5369.0,-5373.0,-5362.0,-5361.0,-5324.0,-5315.0,-5350.0,-5271.0,-5163.0,-5109.0,-5086.0,-5086.0,-5072.0,-5072.0,-5098.0,-5107.0,-5060.0,-4965.0,-4894.0,-4901.0,-4972.0,-5049.0,-5075.0,-5054.0,-5021.0,-5003.0,-5009.0,-5036.0,-5057.0,-5077.0,-5088.0,-5457.0,-5430.0,-5392.0,-5358.0,-5315.0,-5252.0,-5197.0,-5102.0,-5023.0,-5007.0,-5049.0,-5092.0,-5059.0,-5048.0,-5079.0,-5099.0,-5063.0,-4985.0,-4932.0,-4968.0,-5085.0,-5182.0,-5195.0,-5163.0,-5126.0,-5099.0,-5079.0,-5060.0,-5044.0,-5040.0,-5044.0,-5402.0,-5377.0,-5348.0,-5297.0,-5216.0,-5094.0,-4994.0,-4954.0,-4951.0,-4970.0,-5037.0,-5077.0,-5027.0,-5024.0,-5081.0,-5129.0,-5111.0,-5042.0,-5009.0,-5033.0,-5119.0,-5189.0,-5203.0,-5192.0,-5155.0,-5130.0,-5099.0,-5058.0,-5018.0,-4997.0,-5013.0,-5295.0,-5283.0,-5273.0,-5243.0,-5183.0,-5094.0,-5053.0,-5035.0,-5005.0,-5020.0,-5062.0,-5086.0,-5059.0,-5051.0,-5087.0,-5127.0,-5120.0,-5074.0,-5067.0,-5071.0,-5112.0,-5149.0,-5147.0,-5130.0,-5083.0,-5075.0,-5074.0,-5041.0,-4990.0,-4966.0,-5001.0,-5219.0,-5208.0,-5209.0,-5203.0,-5187.0,-5168.0,-5170.0,-5151.0,-5110.0,-5111.0,-5148.0,-5177.0,-5160.0,-5113.0,-5084.0,-5078.0,-5065.0,-5054.0,-5059.0,-5062.0,-5133.0,-5169.0,-5123.0,-5066.0,-5005.0,-5030.0,-5071.0,-5054.0,-5000.0,-4977.0,-5015.0,-5201.0,-5177.0,-5167.0,-5161.0,-5172.0,-5193.0,-5211.0,-5213.0,-5200.0,-5210.0,-5248.0,-5270.0,-5232.0,-5136.0,-5047.0,-4998.0,-4984.0,-5005.0,-5024.0,-5043.0,-5130.0,-5182.0,-5167.0,-5088.0,-5044.0,-5096.0,-5115.0,-5106.0,-5043.0,-5002.0,-5038.0,-5236.0,-5216.0,-5188.0,-5157.0,-5156.0,-5190.0,-5218.0,-5234.0,-5249.0,-5274.0,-5309.0,-5318.0,-5260.0,-5138.0,-5003.0,-4916.0,-4907.0,-4957.0,-5003.0,-5040.0,-5111.0,-5160.0,-5164.0,-5104.0,-5081.0,-5111.0,-5091.0,-5124.0,-5068.0,-4991.0,-5066.0,-5278.0,-5277.0,-5255.0,-5218.0,-5189.0,-5186.0,-5206.0,-5216.0,-5238.0,-5284.0,-5325.0,-5330.0,-5264.0,-5134.0,-4984.0,-4883.0,-4878.0,-4940.0,-4996.0,-5026.0,-5081.0,-5128.0,-5124.0,-5093.0,-5082.0,-5083.0,-5064.0,-5083.0,-5074.0,-5043.0,-5132.0,-5327.0,-5373.0,-5386.0,-5342.0,-5273.0,-5223.0,-5214.0,-5214.0,-5219.0,-5262.0,-5311.0,-5318.0,-5254.0,-5135.0,-5004.0,-4920.0,-4922.0,-4972.0,-5017.0,-5052.0,-5089.0,-5114.0,-5109.0,-5089.0,-5078.0,-5073.0,-5057.0,-5048.0,-5050.0,-5053.0,-5116.0};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getColor_7_19_color_1()
		{
			double[] value = {0.4249363867684478,0.6875,0.19,0.44147582697201015,0.6875,0.19,0.45292620865139954,0.6875,0.19,0.4548346055979644,0.6875,0.19,0.443384223918575,0.6875,0.19,0.43575063613231557,0.6875,0.19,0.44402035623409675,0.6875,0.19,0.45928753180661575,0.6875,0.19,0.4643765903307888,0.6875,0.19,0.4548346055979644,0.6875,0.19,0.4344783715012722,0.6875,0.19,0.4192111959287532,0.6875,0.19,0.4192111959287532,0.6875,0.19,0.4389312977099237,0.6875,0.19,0.4701017811704835,0.6875,0.19,0.4968193384223919,0.6875,0.19,0.5031806615776082,0.6875,0.19,0.4879134860050891,0.6875,0.19,0.4662849872773537,0.6875,0.19,0.46564885496183206,0.6875,0.19,0.4675572519083969,0.6875,0.19,0.44465648854961837,0.6875,0.19,0.40776081424936383,0.6875,0.19,0.37150127226463103,0.6875,0.19,0.3581424936386769,0.6875,0.19,0.37786259541984735,0.6875,0.19,0.41730279898218825,0.6875,0.19,0.443384223918575,0.6875,0.19,0.44402035623409675,0.6875,0.19,0.433206106870229,0.6875,0.19,0.4223918575063613,0.6875,0.19,0.44783715012722647,0.6875,0.19,0.4669211195928753,0.6875,0.19,0.4751908396946565,0.6875,0.19,0.46246819338422396,0.6875,0.19,0.443384223918575,0.6875,0.19,0.428117048346056,0.6875,0.19,0.4338422391857506,0.6875,0.19,0.4548346055979644,0.6875,0.19,0.4701017811704835,0.6875,0.19,0.46882951653944016,0.6875,0.19,0.45610687022900764,0.6875,0.19,0.4459287531806616,0.6875,0.19,0.45038167938931295,0.6875,0.19,0.46882951653944016,0.6875,0.19,0.4936386768447837,0.6875,0.19,0.5197201017811706,0.6875,0.19,0.5248091603053435,0.6875,0.19,0.5044529262086515,0.6875,0.19,0.4821882951653944,0.6875,0.19,0.4720101781170484,0.6875,0.19,0.47264631043257,0.6875,0.19,0.4631043256997456,0.6875,0.19,0.4370229007633588,0.6875,0.19,0.41412213740458015,0.6875,0.19,0.41730279898218825,0.6875,0.19,0.43829516539440205,0.6875,0.19,0.46819338422391854,0.6875,0.19,0.48664122137404575,0.6875,0.19,0.47137404580152675,0.6875,0.19,0.44465648854961837,0.6875,0.19,0.4344783715012722,0.6875,0.19,0.4643765903307888,0.6875,0.19,0.4580152671755725,0.6875,0.19,0.45610687022900764,0.6875,0.19,0.44974554707379133,0.6875,0.19,0.44147582697201015,0.6875,0.19,0.43575063613231557,0.6875,0.19,0.4484732824427481,0.6875,0.19,0.46882951653944016,0.6875,0.19,0.48091603053435117,0.6875,0.19,0.48409669211195927,0.6875,0.19,0.4790076335877863,0.6875,0.19,0.47709923664122134,0.6875,0.19,0.48346055979643765,0.6875,0.19,0.505089058524173,0.6875,0.19,0.5400763358778626,0.6875,0.19,0.5661577608142494,0.6875,0.19,0.561704834605598,0.6875,0.19,0.5343511450381679,0.6875,0.19,0.5114503816793894,0.6875,0.19,0.5069974554707379,0.6875,0.19,0.5152671755725191,0.6875,0.19,0.5095419847328244,0.6875,0.19,0.48664122137404575,0.6875,0.19,0.4758269720101781,0.6875,0.19,0.5006361323155216,0.6875,0.19,0.5477099236641221,0.6875,0.19,0.5852417302798982,0.6875,0.19,0.5909669211195929,0.6875,0.19,0.5597964376590331,0.6875,0.19,0.522264631043257,0.6875,0.19,0.5114503816793894,0.6875,0.19,0.4631043256997456,0.6875,0.19,0.43193384223918574,0.6875,0.19,0.428117048346056,0.6875,0.19,0.4395674300254453,0.6875,0.19,0.4484732824427481,0.6875,0.19,0.45674300254452926,0.6875,0.19,0.4732824427480916,0.6875,0.19};
			return value;
		}
		private double[] getColor_7_19_color_2()
		{
			double[] value = {0.5031806615776082,0.6875,0.19,0.5254452926208651,0.6875,0.19,0.5190839694656488,0.6875,0.19,0.5019083969465649,0.6875,0.19,0.5012722646310432,0.6875,0.19,0.5305343511450382,0.6875,0.19,0.5801526717557253,0.6875,0.19,0.6240458015267176,0.6875,0.19,0.643765903307888,0.6875,0.19,0.6380407124681934,0.6875,0.19,0.6234096692111959,0.6875,0.19,0.6195928753180662,0.6875,0.19,0.6240458015267176,0.6875,0.19,0.6297709923664122,0.6875,0.19,0.6183206106870229,0.6875,0.19,0.5858778625954199,0.6875,0.19,0.5763358778625954,0.6875,0.19,0.6081424936386768,0.6875,0.19,0.6622137404580153,0.6875,0.19,0.7022900763358779,0.6875,0.19,0.7022900763358779,0.6875,0.19,0.66793893129771,0.6875,0.19,0.628498727735369,0.6875,0.19,0.6151399491094147,0.6875,0.19,0.47391857506361323,0.6875,0.19,0.4694656488549618,0.6875,0.19,0.45992366412213737,0.6875,0.19,0.44529262086514,0.6875,0.19,0.4573791348600509,0.6875,0.19,0.48600508905852413,0.6875,0.19,0.5330788804071247,0.6875,0.19,0.58206106870229,0.6875,0.19,0.6049618320610687,0.6875,0.19,0.5916030534351144,0.6875,0.19,0.5642493638676844,0.6875,0.19,0.5629770992366412,0.6875,0.19,0.6049618320610687,0.6875,0.19,0.6673027989821882,0.6875,0.19,0.7201017811704835,0.6875,0.19,0.744910941475827,0.6875,0.19,0.7474554707379135,0.6875,0.19,0.75,0.6875,0.19,0.7614503816793893,0.6875,0.19,0.7531806615776081,0.6875,0.19,0.7455470737913485,0.6875,0.19,0.7264631043256997,0.6875,0.19,0.6762086513994912,0.6875,0.19,0.655852417302799,0.6875,0.19,0.6825699745547074,0.6875,0.19,0.7315521628498728,0.6875,0.19,0.7665394402035624,0.6875,0.19,0.767175572519084,0.6875,0.19,0.7391857506361323,0.6875,0.19,0.705470737913486,0.6875,0.19,0.6895674300254453,0.6875,0.19,0.4961832061068703,0.6875,0.19,0.5012722646310432,0.6875,0.19,0.49236641221374045,0.6875,0.19,0.4815521628498728,0.6875,0.19,0.5069974554707379,0.6875,0.19,0.556615776081425,0.6875,0.19,0.6138676844783715,0.6875,0.19,0.6622137404580153,0.6875,0.19,0.6812977099236641,0.6875,0.19,0.6653944020356234,0.6875,0.19,0.6374045801526718,0.6875,0.19,0.6354961832061068,0.6875,0.19,0.6768447837150127,0.6875,0.19,0.7442748091603053,0.6875,0.19,0.80470737913486,0.6875,0.19,0.8377862595419847,0.6875,0.19,0.8486005089058524,0.6875,0.19,0.8657760814249365,0.6875,0.19,0.9147582697201018,0.6875,0.19,1.0,0.6875,0.19,0.9681933842239185,0.6875,0.19,0.8174300254452926,0.6875,0.19,0.7137404580152672,0.6875,0.19,0.6755725190839694,0.6875,0.19,0.6927480916030535,0.6875,0.19,0.7290076335877862,0.6875,0.19,0.7512722646310432,0.6875,0.19,0.7493638676844784,0.6875,0.19,0.7283715012722647,0.6875,0.19,0.7022900763358779,0.6875,0.19,0.6800254452926209,0.6875,0.19,0.5540712468193385,0.6875,0.19,0.5706106870229007,0.6875,0.19,0.6145038167938932,0.6875,0.19,0.6106870229007634,0.6875,0.19,0.6011450381679388,0.6875,0.19,0.6494910941475827,0.6875,0.19,0.7016539440203562,0.6875,0.19,0.7372773536895674,0.6875,0.19,0.7468193384223918,0.6875,0.19,0.7283715012722647,0.6875,0.19,0.7010178117048347,0.6875,0.19,0.6965648854961832,0.6875,0.19,0.7296437659033079,0.6875,0.19,0.787531806615776,0.6875,0.19};
			return value;
		}
		private double[] getColor_7_19_color_3()
		{
			double[] value = {0.8409669211195929,0.6875,0.19,0.8676844783715013,0.6875,0.19,0.8689567430025446,0.6875,0.19,0.8657760814249365,0.6875,0.19,0.866412213740458,0.6875,0.19,0.8416030534351145,0.6875,0.19,0.7862595419847328,0.6875,0.19,0.7099236641221374,0.6875,0.19,0.6367684478371501,0.6875,0.19,0.6125954198473282,0.6875,0.19,0.6278625954198473,0.6875,0.19,0.6494910941475827,0.6875,0.19,0.6577608142493638,0.6875,0.19,0.6507633587786259,0.6875,0.19,0.6348600508905853,0.6875,0.19,0.611323155216285,0.6875,0.19,0.5801526717557253,0.6875,0.19,0.6634860050890585,0.6875,0.19,0.6647582697201018,0.6875,0.19,0.6564885496183206,0.6875,0.19,0.6361323155216285,0.6875,0.19,0.6832061068702291,0.6875,0.19,0.7665394402035624,0.6875,0.19,0.8027989821882952,0.6875,0.19,0.8078880407124682,0.6875,0.19,0.7951653944020356,0.6875,0.19,0.772264631043257,0.6875,0.19,0.7455470737913485,0.6875,0.19,0.7309160305343512,0.6875,0.19,0.7423664122137404,0.6875,0.19,0.7748091603053435,0.6875,0.19,0.80470737913486,0.6875,0.19,0.8097964376590331,0.6875,0.19,0.7932569974554707,0.6875,0.19,0.772264631043257,0.6875,0.19,0.7639949109414759,0.6875,0.19,0.7639949109414759,0.6875,0.19,0.688295165394402,0.6875,0.19,0.5585241730279898,0.6875,0.19,0.4853689567430025,0.6875,0.19,0.4764631043256997,0.6875,0.19,0.49872773536895676,0.6875,0.19,0.517175572519084,0.6875,0.19,0.5178117048346056,0.6875,0.19,0.5076335877862596,0.6875,0.19,0.49236641221374045,0.6875,0.19,0.4675572519083969,0.6875,0.19,0.42366412213740456,0.6875,0.19,0.7697201017811705,0.6875,0.19,0.7926208651399491,0.6875,0.19,0.8587786259541985,0.6875,0.19,0.9535623409669212,0.6875,0.19,0.9745547073791349,0.6875,0.19,0.9319338422391857,0.6875,0.19,0.8963104325699746,0.6875,0.19,0.8549618320610687,0.6875,0.19,0.8161577608142494,0.6875,0.19,0.7824427480916031,0.6875,0.19,0.7474554707379135,0.6875,0.19,0.7124681933842238,0.6875,0.19,0.6921119592875318,0.6875,0.19,0.6902035623409669,0.6875,0.19,0.6895674300254453,0.6875,0.19,0.6704834605597965,0.6875,0.19,0.638676844783715,0.6875,0.19,0.6087786259541985,0.6875,0.19,0.5909669211195929,0.6875,0.19,0.5966921119592875,0.6875,0.19,0.5241730279898219,0.6875,0.19,0.3944020356234097,0.6875,0.19,0.344147582697201,0.6875,0.19,0.3549618320610687,0.6875,0.19,0.3765903307888041,0.6875,0.19,0.38167938931297707,0.6875,0.19,0.3759541984732825,0.6875,0.19,0.36832061068702293,0.6875,0.19,0.36005089058524176,0.6875,0.19,0.34478371501272265,0.6875,0.19,0.3078880407124682,0.6875,0.19,0.8199745547073791,0.6875,0.19,0.8263358778625954,0.6875,0.19,0.8517811704834606,0.6875,0.19,0.8454198473282443,0.6875,0.19,0.866412213740458,0.6875,0.19,0.9090330788804071,0.6875,0.19,0.8791348600508906,0.6875,0.19,0.8244274809160306,0.6875,0.19,0.7760814249363868,0.6875,0.19,0.7366412213740459,0.6875,0.19,0.6895674300254453,0.6875,0.19,0.6291348600508906,0.6875,0.19,0.5750636132315521,0.6875,0.19,0.5400763358778626,0.6875,0.19,0.5139949109414759,0.6875,0.19,0.48346055979643765,0.6875,0.19,0.44974554707379133,0.6875,0.19,0.4128498727735369,0.6875,0.19,0.3282442748091603,0.6875,0.19,0.1234096692111959,0.6875,0.19,0.058524173027989845,0.6875,0.19};
			return value;
		}
		private double[] getColor_7_19_color_4()
		{
			double[] value = {0.16030534351145043,0.6875,0.19,0.2022900763358778,0.6875,0.19,0.23854961832061072,0.6875,0.19,0.27035623409669207,0.6875,0.19,0.2856234096692112,0.6875,0.19,0.28435114503816794,0.6875,0.19,0.27926208651399487,0.6875,0.19,0.27226463104325704,0.6875,0.19,0.2557251908396947,0.6875,0.19,0.22201017811704837,0.6875,0.19,0.8193384223918575,0.6875,0.19,0.7690839694656488,0.6875,0.19,0.7461832061068703,0.6875,0.19,0.7474554707379135,0.6875,0.19,0.7932569974554707,0.6875,0.19,0.8148854961832062,0.6875,0.19,0.7525445292620865,0.6875,0.19,0.6908396946564885,0.6875,0.19,0.6456743002544529,0.6875,0.19,0.6087786259541985,0.6875,0.19,0.5572519083969465,0.6875,0.19,0.4815521628498728,0.6875,0.19,0.4153944020356234,0.6875,0.19,0.37786259541984735,0.6875,0.19,0.3492366412213741,0.6875,0.19,0.3244274809160306,0.6875,0.19,0.31488549618320616,0.6875,0.19,0.3104325699745547,0.6875,0.19,0.30852417302798985,0.6875,0.19,0.3040712468193384,0.6875,0.19,0.2620865139949109,0.6875,0.19,0.20419847328244278,0.6875,0.19,0.1806615776081425,0.6875,0.19,0.19083969465648853,0.6875,0.19,0.20928753180661575,0.6875,0.19,0.2201017811704835,0.6875,0.19,0.22328244274809161,0.6875,0.19,0.22264631043257,0.6875,0.19,0.22073791348600513,0.6875,0.19,0.20928753180661575,0.6875,0.19,0.1806615776081425,0.6875,0.19,0.760178117048346,0.6875,0.19,0.5903307888040712,0.6875,0.19,0.5706106870229007,0.6875,0.19,0.5642493638676844,0.6875,0.19,0.5610687022900763,0.6875,0.19,0.5826972010178118,0.6875,0.19,0.5114503816793894,0.6875,0.19,0.460559796437659,0.6875,0.19,0.4300254452926209,0.6875,0.19,0.40521628498727735,0.6875,0.19,0.3772264631043257,0.6875,0.19,0.33015267175572516,0.6875,0.19,0.2748091603053435,0.6875,0.19,0.23854961832061072,0.6875,0.19,0.21755725190839692,0.6875,0.19,0.2048346055979644,0.6875,0.19,0.20674300254452926,0.6875,0.19,0.23282442748091603,0.6875,0.19,0.25763358778625955,0.6875,0.19,0.2557251908396947,0.6875,0.19,0.24173027989821882,0.6875,0.19,0.21183206106870234,0.6875,0.19,0.18193384223918574,0.6875,0.19,0.1749363867684478,0.6875,0.19,0.17811704834605602,0.6875,0.19,0.18447837150127222,0.6875,0.19,0.19083969465648853,0.6875,0.19,0.19720101781170485,0.6875,0.19,0.20038167938931295,0.6875,0.19,0.19147582697201015,0.6875,0.19,0.166030534351145,0.6875,0.19,0.4268447837150128,0.6875,0.19,0.20610687022900764,0.6875,0.19,0.12531806615776087,0.6875,0.19,0.1081424936386769,0.6875,0.19,0.09160305343511455,0.6875,0.19,0.2016539440203562,0.6875,0.19,0.26399491094147587,0.6875,0.19,0.25699745547073793,0.6875,0.19,0.2379134860050891,0.6875,0.19,0.21946564885496178,0.6875,0.19,0.19720101781170485,0.6875,0.19,0.1717557251908397,0.6875,0.19,0.15521628498727735,0.6875,0.19,0.1539440203562341,0.6875,0.19,0.15712468193384221,0.6875,0.19,0.1564885496183206,0.6875,0.19,0.1596692111959288,0.6875,0.19,0.17302798982188294,0.6875,0.19,0.18893129770992367,0.6875,0.19,0.1838422391857506,0.6875,0.19,0.1806615776081425,0.6875,0.19,0.18575063613231557,0.6875,0.19,0.17938931297709926,0.6875,0.19,0.17430025445292618,0.6875,0.19,0.17239185750636132,0.6875,0.19,0.17620865139949105,0.6875,0.19,0.1870229007633588,0.6875,0.19,0.19974554707379133,0.6875,0.19};
			return value;
		}
		private double[] getColor_7_19_color_5()
		{
			double[] value = {0.20547073791348602,0.6875,0.19,0.19529262086514,0.6875,0.19,0.16730279898218825,0.6875,0.19,0.2111959287531806,0.6875,0.19,0.10114503816793896,0.6875,0.19,0.07061068702290074,0.6875,0.19,0.0725190839694656,0.6875,0.19,0.11832061068702293,0.6875,0.19,0.20101781170483457,0.6875,0.19,0.18447837150127222,0.6875,0.19,0.1329516539440203,0.6875,0.19,0.09669211195928751,0.6875,0.19,0.07633587786259544,0.6875,0.19,0.06488549618320616,0.6875,0.19,0.06424936386768443,0.6875,0.19,0.08015267175572516,0.6875,0.19,0.11068702290076338,0.6875,0.19,0.14122137404580148,0.6875,0.19,0.15712468193384221,0.6875,0.19,0.16094147582697205,0.6875,0.19,0.16157760814249367,0.6875,0.19,0.16412213740458015,0.6875,0.19,0.1653944020356234,0.6875,0.19,0.166030534351145,0.6875,0.19,0.1717557251908397,0.6875,0.19,0.1806615776081425,0.6875,0.19,0.18893129770992367,0.6875,0.19,0.19338422391857502,0.6875,0.19,0.2016539440203562,0.6875,0.19,0.2169211195928753,0.6875,0.19,0.23409669211195927,0.6875,0.19,0.23854961832061072,0.6875,0.19,0.21946564885496178,0.6875,0.19,0.18193384223918574,0.6875,0.19,0.08396946564885499,0.6875,0.19,0.029898218829516487,0.6875,0.19,0.01590330788804073,0.6875,0.19,0.03435114503816794,0.6875,0.19,0.07951653944020354,0.6875,0.19,0.14312977099236646,0.6875,0.19,0.12595419847328249,0.6875,0.19,0.06488549618320616,0.6875,0.19,0.027353689567430006,0.6875,0.19,0.007633587786259555,0.6875,0.19,0.003816793893129722,0.6875,0.19,0.011450381679389277,0.6875,0.19,0.043893129770992356,0.6875,0.19,0.09414758269720103,0.6875,0.19,0.14503816793893132,0.6875,0.19,0.17938931297709926,0.6875,0.19,0.1927480916030534,0.6875,0.19,0.19020356234096691,0.6875,0.19,0.1838422391857506,0.6875,0.19,0.18829516539440205,0.6875,0.19,0.18447837150127222,0.6875,0.19,0.18002544529262088,0.6875,0.19,0.19974554707379133,0.6875,0.19,0.22455470737913485,0.6875,0.19,0.24045801526717558,0.6875,0.19,0.2525445292620865,0.6875,0.19,0.26972010178117045,0.6875,0.19,0.2830788804071247,0.6875,0.19,0.2798982188295165,0.6875,0.19,0.2531806615776081,0.6875,0.19,0.20737913486005088,0.6875,0.19,0.04643765903307884,0.6875,0.19,0.012722646310432517,0.6875,0.19,0.0025445292620864812,0.6875,0.19,0.01781170483460559,0.6875,0.19,0.05025445292620867,0.6875,0.19,0.08524173027989823,0.6875,0.19,0.07315521628498722,0.6875,0.19,0.05089058524173029,0.6875,0.19,0.020356234096692072,0.6875,0.19,0.0,0.6875,0.19,0.0050890585241730735,0.6875,0.19,0.005725190839694694,0.6875,0.19,0.038804071246819394,0.6875,0.19,0.09541984732824427,0.6875,0.19,0.1596692111959288,0.6875,0.19,0.21310432569974558,0.6875,0.19,0.24236641221374045,0.6875,0.19,0.2442748091603053,0.6875,0.19,0.23027989821882955,0.6875,0.19,0.2258269720101781,0.6875,0.19,0.21437659033078882,0.6875,0.19,0.20928753180661575,0.6875,0.19,0.23918575063613234,0.6875,0.19,0.27290076335877866,0.6875,0.19,0.289440203562341,0.6875,0.19,0.2926208651399491,0.6875,0.19,0.2983460559796438,0.6875,0.19,0.3097964376590331,0.6875,0.19,0.30025445292620867,0.6875,0.19,0.26908396946564883,0.6875,0.19,0.22709923664122134,0.6875,0.19,0.06424936386768443,0.6875,0.19,0.03816793893129766,0.6875,0.19,0.028625954198473247,0.6875,0.19,0.040076335877862634,0.6875,0.19};
			return value;
		}
		private double[] getColor_7_19_color_6()
		{
			double[] value = {0.06170483460559795,0.6875,0.19,0.13167938931297707,0.6875,0.19,0.16666666666666663,0.6875,0.19,0.13422391857506366,0.6875,0.19,0.06679389312977102,0.6875,0.19,0.05343511450381677,0.6875,0.19,0.056615776081424984,0.6875,0.19,0.026717557251908386,0.6875,0.19,0.060432569974554706,0.6875,0.19,0.11959287531806617,0.6875,0.19,0.19338422391857502,0.6875,0.19,0.2582697201017812,0.6875,0.19,0.2983460559796438,0.6875,0.19,0.30534351145038163,0.6875,0.19,0.2805343511450382,0.6875,0.19,0.24745547073791352,0.6875,0.19,0.23409669211195927,0.6875,0.19,0.2506361323155216,0.6875,0.19,0.28816793893129766,0.6875,0.19,0.31170483460559795,0.6875,0.19,0.31170483460559795,0.6875,0.19,0.30534351145038163,0.6875,0.19,0.30279898218829515,0.6875,0.19,0.3040712468193384,0.6875,0.19,0.29007633587786263,0.6875,0.19,0.2614503816793893,0.6875,0.19,0.23027989821882955,0.6875,0.19,0.09796437659033075,0.6875,0.19,0.07633587786259544,0.6875,0.19,0.06743002544529264,0.6875,0.19,0.0750636132315522,0.6875,0.19,0.08078880407124678,0.6875,0.19,0.1622137404580153,0.6875,0.19,0.22137404580152675,0.6875,0.19,0.17048346055979646,0.6875,0.19,0.11704834605597969,0.6875,0.19,0.14058524173027986,0.6875,0.19,0.11832061068702293,0.6875,0.19,0.0693384223918575,0.6875,0.19,0.111323155216285,0.6875,0.19,0.17239185750636132,0.6875,0.19,0.2531806615776081,0.6875,0.19,0.3136132315521628,0.6875,0.19,0.35050890585241734,0.6875,0.19,0.3587786259541985,0.6875,0.19,0.3346055979643766,0.6875,0.19,0.2888040712468194,0.6875,0.19,0.26972010178117045,0.6875,0.19,0.29071246819338425,0.6875,0.19,0.316793893129771,0.6875,0.19,0.33015267175572516,0.6875,0.19,0.31488549618320616,0.6875,0.19,0.2856234096692112,0.6875,0.19,0.2652671755725191,0.6875,0.19,0.2557251908396947,0.6875,0.19,0.24936386768447838,0.6875,0.19,0.23982188295165396,0.6875,0.19,0.22773536895674296,0.6875,0.19,0.1234096692111959,0.6875,0.19,0.10623409669211192,0.6875,0.19,0.10050890585241734,0.6875,0.19,0.11005089058524176,0.6875,0.19,0.13040712468193383,0.6875,0.19,0.1959287531806616,0.6875,0.19,0.24236641221374045,0.6875,0.19,0.21755725190839692,0.6875,0.19,0.1863867684478372,0.6875,0.19,0.18320610687022898,0.6875,0.19,0.16094147582697205,0.6875,0.19,0.16666666666666663,0.6875,0.19,0.1870229007633588,0.6875,0.19,0.23027989821882955,0.6875,0.19,0.32379134860050895,0.6875,0.19,0.38167938931297707,0.6875,0.19,0.41666666666666663,0.6875,0.19,0.42302798982188294,0.6875,0.19,0.3982188295165394,0.6875,0.19,0.3562340966921119,0.6875,0.19,0.32124681933842236,0.6875,0.19,0.3104325699745547,0.6875,0.19,0.3129770992366412,0.6875,0.19,0.3040712468193384,0.6875,0.19,0.27226463104325704,0.6875,0.19,0.23664122137404575,0.6875,0.19,0.21501272264631044,0.6875,0.19,0.2111959287531806,0.6875,0.19,0.22137404580152675,0.6875,0.19,0.22773536895674296,0.6875,0.19,0.22837150127226458,0.6875,0.19,0.14949109414758266,0.6875,0.19,0.1418575063613231,0.6875,0.19,0.138676844783715,0.6875,0.19,0.15458015267175573,0.6875,0.19,0.1838422391857506,0.6875,0.19,0.23600508905852413,0.6875,0.19,0.28816793893129766,0.6875,0.19,0.29389312977099236,0.6875,0.19,0.2716284987277354,0.6875,0.19,0.25445292620865145,0.6875,0.19,0.24618320610687028,0.6875,0.19};
			return value;
		}
		private double[] getColor_7_19_color_7()
		{
			double[] value = {0.2652671755725191,0.6875,0.19,0.24236641221374045,0.6875,0.19,0.25763358778625955,0.6875,0.19,0.3734096692111959,0.6875,0.19,0.4363867684478372,0.6875,0.19,0.43829516539440205,0.6875,0.19,0.42048346055979646,0.6875,0.19,0.3937659033078881,0.6875,0.19,0.36577608142493634,0.6875,0.19,0.32697201017811706,0.6875,0.19,0.2868956743002544,0.6875,0.19,0.2652671755725191,0.6875,0.19,0.2442748091603053,0.6875,0.19,0.20928753180661575,0.6875,0.19,0.17048346055979646,0.6875,0.19,0.1564885496183206,0.6875,0.19,0.17366412213740456,0.6875,0.19,0.2080152671755725,0.6875,0.19,0.23282442748091603,0.6875,0.19,0.2410941475826972,0.6875,0.19,0.20419847328244278,0.6875,0.19,0.22328244274809161,0.6875,0.19,0.21310432569974558,0.6875,0.19,0.22519083969465647,0.6875,0.19,0.23854961832061072,0.6875,0.19,0.31488549618320616,0.6875,0.19,0.3975826972010178,0.6875,0.19,0.3854961832061069,0.6875,0.19,0.344147582697201,0.6875,0.19,0.30279898218829515,0.6875,0.19,0.27926208651399487,0.6875,0.19,0.2741730279898219,0.6875,0.19,0.2589058524173028,0.6875,0.19,0.26717557251908397,0.6875,0.19,0.35114503816793896,0.6875,0.19,0.40776081424936383,0.6875,0.19,0.38040712468193383,0.6875,0.19,0.3346055979643766,0.6875,0.19,0.28753180661577604,0.6875,0.19,0.24300254452926207,0.6875,0.19,0.22137404580152675,0.6875,0.19,0.2169211195928753,0.6875,0.19,0.20674300254452926,0.6875,0.19,0.18320610687022898,0.6875,0.19,0.15012722646310428,0.6875,0.19,0.12849872773536897,0.6875,0.19,0.13358778625954193,0.6875,0.19,0.17048346055979646,0.6875,0.19,0.21628498727735368,0.6875,0.19,0.24872773536895676,0.6875,0.19,0.26399491094147587,0.6875,0.19,0.306615776081425,0.6875,0.19,0.3396946564885496,0.6875,0.19,0.33206106870229013,0.6875,0.19,0.33651399491094147,0.6875,0.19,0.31424936386768443,0.6875,0.19,0.3581424936386769,0.6875,0.19,0.43193384223918574,0.6875,0.19,0.4090330788804071,0.6875,0.19,0.3606870229007634,0.6875,0.19,0.3129770992366412,0.6875,0.19,0.2779898218829516,0.6875,0.19,0.26017811704834604,0.6875,0.19,0.25,0.6875,0.19,0.2563613231552163,0.6875,0.19,0.2926208651399491,0.6875,0.19,0.31424936386768443,0.6875,0.19,0.28117048346055984,0.6875,0.19,0.2201017811704835,0.6875,0.19,0.166030534351145,0.6875,0.19,0.1323155216284987,0.6875,0.19,0.138676844783715,0.6875,0.19,0.17111959287531808,0.6875,0.19,0.1838422391857506,0.6875,0.19,0.1717557251908397,0.6875,0.19,0.14885496183206104,0.6875,0.19,0.13676844783715014,0.6875,0.19,0.14949109414758266,0.6875,0.19,0.18829516539440205,0.6875,0.19,0.2258269720101781,0.6875,0.19,0.2550890585241731,0.6875,0.19,0.26972010178117045,0.6875,0.19,0.42620865139949105,0.6875,0.19,0.42875318066157764,0.6875,0.19,0.4217557251908397,0.6875,0.19,0.4211195928753181,0.6875,0.19,0.3975826972010178,0.6875,0.19,0.3918575063613231,0.6875,0.19,0.41412213740458015,0.6875,0.19,0.3638676844783715,0.6875,0.19,0.2951653944020356,0.6875,0.19,0.26081424936386766,0.6875,0.19,0.24618320610687028,0.6875,0.19,0.24618320610687028,0.6875,0.19,0.23727735368956748,0.6875,0.19,0.23727735368956748,0.6875,0.19,0.2538167938931297,0.6875,0.19,0.2595419847328244,0.6875,0.19,0.22964376590330793,0.6875,0.19,0.16921119592875322,0.6875,0.19};
			return value;
		}
		private double[] getColor_7_19_color_8()
		{
			double[] value = {0.12404580152671751,0.6875,0.19,0.12849872773536897,0.6875,0.19,0.17366412213740456,0.6875,0.19,0.22264631043257,0.6875,0.19,0.23918575063613234,0.6875,0.19,0.2258269720101781,0.6875,0.19,0.2048346055979644,0.6875,0.19,0.19338422391857502,0.6875,0.19,0.19720101781170485,0.6875,0.19,0.21437659033078882,0.6875,0.19,0.22773536895674296,0.6875,0.19,0.24045801526717558,0.6875,0.19,0.24745547073791352,0.6875,0.19,0.4821882951653944,0.6875,0.19,0.46501272264631044,0.6875,0.19,0.44083969465648853,0.6875,0.19,0.4192111959287532,0.6875,0.19,0.3918575063613231,0.6875,0.19,0.3517811704834606,0.6875,0.19,0.316793893129771,0.6875,0.19,0.2563613231552163,0.6875,0.19,0.20610687022900764,0.6875,0.19,0.1959287531806616,0.6875,0.19,0.22264631043257,0.6875,0.19,0.25,0.6875,0.19,0.2290076335877863,0.6875,0.19,0.22201017811704837,0.6875,0.19,0.24173027989821882,0.6875,0.19,0.25445292620865145,0.6875,0.19,0.2315521628498728,0.6875,0.19,0.18193384223918574,0.6875,0.19,0.14821882951653942,0.6875,0.19,0.17111959287531808,0.6875,0.19,0.24554707379134855,0.6875,0.19,0.3072519083969466,0.6875,0.19,0.3155216284987278,0.6875,0.19,0.2951653944020356,0.6875,0.19,0.2716284987277354,0.6875,0.19,0.25445292620865145,0.6875,0.19,0.24173027989821882,0.6875,0.19,0.22964376590330793,0.6875,0.19,0.21946564885496178,0.6875,0.19,0.2169211195928753,0.6875,0.19,0.21946564885496178,0.6875,0.19,0.44720101781170485,0.6875,0.19,0.4312977099236641,0.6875,0.19,0.4128498727735369,0.6875,0.19,0.38040712468193383,0.6875,0.19,0.3288804071246819,0.6875,0.19,0.25127226463104324,0.6875,0.19,0.18765903307888043,0.6875,0.19,0.1622137404580153,0.6875,0.19,0.16030534351145043,0.6875,0.19,0.17239185750636132,0.6875,0.19,0.21501272264631044,0.6875,0.19,0.24045801526717558,0.6875,0.19,0.20865139949109412,0.6875,0.19,0.20674300254452926,0.6875,0.19,0.24300254452926207,0.6875,0.19,0.2735368956743003,0.6875,0.19,0.2620865139949109,0.6875,0.19,0.21819338422391854,0.6875,0.19,0.19720101781170485,0.6875,0.19,0.21246819338422396,0.6875,0.19,0.26717557251908397,0.6875,0.19,0.31170483460559795,0.6875,0.19,0.32061068702290074,0.6875,0.19,0.3136132315521628,0.6875,0.19,0.29007633587786263,0.6875,0.19,0.2741730279898219,0.6875,0.19,0.25445292620865145,0.6875,0.19,0.22837150127226458,0.6875,0.19,0.20292620865139954,0.6875,0.19,0.1895674300254453,0.6875,0.19,0.19974554707379133,0.6875,0.19,0.3791348600508906,0.6875,0.19,0.37150127226463103,0.6875,0.19,0.3651399491094147,0.6875,0.19,0.3460559796437659,0.6875,0.19,0.3078880407124682,0.6875,0.19,0.25127226463104324,0.6875,0.19,0.22519083969465647,0.6875,0.19,0.2137404580152672,0.6875,0.19,0.19465648854961837,0.6875,0.19,0.20419847328244278,0.6875,0.19,0.23091603053435117,0.6875,0.19,0.24618320610687028,0.6875,0.19,0.2290076335877863,0.6875,0.19,0.22391857506361323,0.6875,0.19,0.2468193384223919,0.6875,0.19,0.27226463104325704,0.6875,0.19,0.2678117048346056,0.6875,0.19,0.23854961832061072,0.6875,0.19,0.23409669211195927,0.6875,0.19,0.23664122137404575,0.6875,0.19,0.2627226463104325,0.6875,0.19,0.2862595419847328,0.6875,0.19,0.28498727735368956,0.6875,0.19,0.2741730279898219,0.6875,0.19,0.2442748091603053,0.6875,0.19};
			return value;
		}
		private double[] getColor_7_19_color_9()
		{
			double[] value = {0.23918575063613234,0.6875,0.19,0.23854961832061072,0.6875,0.19,0.21755725190839692,0.6875,0.19,0.18511450381679384,0.6875,0.19,0.16984732824427484,0.6875,0.19,0.19211195928753177,0.6875,0.19,0.3307888040712468,0.6875,0.19,0.32379134860050895,0.6875,0.19,0.3244274809160306,0.6875,0.19,0.32061068702290074,0.6875,0.19,0.3104325699745547,0.6875,0.19,0.2983460559796438,0.6875,0.19,0.29961832061068705,0.6875,0.19,0.28753180661577604,0.6875,0.19,0.2614503816793893,0.6875,0.19,0.2620865139949109,0.6875,0.19,0.2856234096692112,0.6875,0.19,0.3040712468193384,0.6875,0.19,0.29325699745547074,0.6875,0.19,0.26335877862595425,0.6875,0.19,0.24491094147582693,0.6875,0.19,0.2410941475826972,0.6875,0.19,0.23282442748091603,0.6875,0.19,0.2258269720101781,0.6875,0.19,0.2290076335877863,0.6875,0.19,0.23091603053435117,0.6875,0.19,0.27608142493638677,0.6875,0.19,0.29898218829516543,0.6875,0.19,0.26972010178117045,0.6875,0.19,0.23346055979643765,0.6875,0.19,0.19465648854961837,0.6875,0.19,0.21055979643765899,0.6875,0.19,0.23664122137404575,0.6875,0.19,0.2258269720101781,0.6875,0.19,0.19147582697201015,0.6875,0.19,0.17684478371501278,0.6875,0.19,0.20101781170483457,0.6875,0.19,0.3193384223918575,0.6875,0.19,0.3040712468193384,0.6875,0.19,0.2977099236641222,0.6875,0.19,0.29389312977099236,0.6875,0.19,0.3008905852417303,0.6875,0.19,0.31424936386768443,0.6875,0.19,0.3256997455470738,0.6875,0.19,0.32697201017811706,0.6875,0.19,0.3187022900763359,0.6875,0.19,0.3250636132315522,0.6875,0.19,0.3492366412213741,0.6875,0.19,0.36323155216284986,0.6875,0.19,0.33905852417302795,0.6875,0.19,0.2779898218829516,0.6875,0.19,0.22137404580152675,0.6875,0.19,0.19020356234096691,0.6875,0.19,0.18129770992366412,0.6875,0.19,0.19465648854961837,0.6875,0.19,0.20674300254452926,0.6875,0.19,0.21882951653944016,0.6875,0.19,0.2741730279898219,0.6875,0.19,0.3072519083969466,0.6875,0.19,0.2977099236641222,0.6875,0.19,0.24745547073791352,0.6875,0.19,0.21946564885496178,0.6875,0.19,0.2525445292620865,0.6875,0.19,0.2646310432569975,0.6875,0.19,0.2589058524173028,0.6875,0.19,0.21882951653944016,0.6875,0.19,0.1927480916030534,0.6875,0.19,0.21564885496183206,0.6875,0.19,0.34160305343511455,0.6875,0.19,0.3288804071246819,0.6875,0.19,0.3110687022900763,0.6875,0.19,0.2913486005089059,0.6875,0.19,0.29071246819338425,0.6875,0.19,0.31234096692111957,0.6875,0.19,0.33015267175572516,0.6875,0.19,0.3403307888040712,0.6875,0.19,0.3498727735368957,0.6875,0.19,0.36577608142493634,0.6875,0.19,0.3880407124681934,0.6875,0.19,0.3937659033078881,0.6875,0.19,0.35687022900763354,0.6875,0.19,0.27926208651399487,0.6875,0.19,0.19338422391857502,0.6875,0.19,0.13804071246819338,0.6875,0.19,0.1323155216284987,0.6875,0.19,0.16412213740458015,0.6875,0.19,0.19338422391857502,0.6875,0.19,0.2169211195928753,0.6875,0.19,0.2620865139949109,0.6875,0.19,0.29325699745547074,0.6875,0.19,0.2958015267175572,0.6875,0.19,0.25763358778625955,0.6875,0.19,0.24300254452926207,0.6875,0.19,0.2620865139949109,0.6875,0.19,0.24936386768447838,0.6875,0.19,0.27035623409669207,0.6875,0.19,0.2347328244274809,0.6875,0.19,0.18575063613231557,0.6875,0.19,0.23346055979643765,0.6875,0.19,0.36832061068702293,0.6875,0.19};
			return value;
		}
		private double[] getColor_7_19_color_10()
		{
			double[] value = {0.3676844783715013,0.6875,0.19,0.35368956743002544,0.6875,0.19,0.33015267175572516,0.6875,0.19,0.31170483460559795,0.6875,0.19,0.3097964376590331,0.6875,0.19,0.3225190839694656,0.6875,0.19,0.3288804071246819,0.6875,0.19,0.3428753180661578,0.6875,0.19,0.37213740458015265,0.6875,0.19,0.3982188295165394,0.6875,0.19,0.40139949109414763,0.6875,0.19,0.35941475826972014,0.6875,0.19,0.2767175572519084,0.6875,0.19,0.18129770992366412,0.6875,0.19,0.11704834605597969,0.6875,0.19,0.11386768447837148,0.6875,0.19,0.1533078880407125,0.6875,0.19,0.18893129770992367,0.6875,0.19,0.2080152671755725,0.6875,0.19,0.24300254452926207,0.6875,0.19,0.27290076335877866,0.6875,0.19,0.27035623409669207,0.6875,0.19,0.2506361323155216,0.6875,0.19,0.24363867684478369,0.6875,0.19,0.2442748091603053,0.6875,0.19,0.2321882951653944,0.6875,0.19,0.2442748091603053,0.6875,0.19,0.23854961832061072,0.6875,0.19,0.21882951653944016,0.6875,0.19,0.27544529262086515,0.6875,0.19,0.39949109414758266,0.6875,0.19,0.42875318066157764,0.6875,0.19,0.4370229007633588,0.6875,0.19,0.4090330788804071,0.6875,0.19,0.3651399491094147,0.6875,0.19,0.33333333333333337,0.6875,0.19,0.3276081424936387,0.6875,0.19,0.3276081424936387,0.6875,0.19,0.3307888040712468,0.6875,0.19,0.3581424936386769,0.6875,0.19,0.3893129770992366,0.6875,0.19,0.3937659033078881,0.6875,0.19,0.3530534351145038,0.6875,0.19,0.27735368956743,0.6875,0.19,0.19402035623409675,0.6875,0.19,0.14058524173027986,0.6875,0.19,0.1418575063613231,0.6875,0.19,0.17366412213740456,0.6875,0.19,0.2022900763358778,0.6875,0.19,0.22455470737913485,0.6875,0.19,0.24809160305343514,0.6875,0.19,0.26399491094147587,0.6875,0.19,0.26081424936386766,0.6875,0.19,0.24809160305343514,0.6875,0.19,0.2410941475826972,0.6875,0.19,0.2379134860050891,0.6875,0.19,0.22773536895674296,0.6875,0.19,0.22201017811704837,0.6875,0.19,0.22328244274809161,0.6875,0.19,0.22519083969465647,0.6875,0.19,0.2652671755725191,0.6875,0.19};
			return value;
		}

		/** Large attribute array: ElevationGrid height field, scene-graph level=6, element #19, 961 total numbers.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFFloat getElevationGrid_6_19_height()
		{
			MFFloat ElevationGrid_6_19_height = new MFFloat()/*2.finalize*/
				.append(new MFFloat(getElevationGrid_6_19_height_1()));
			return ElevationGrid_6_19_height;
		}
		/** Large attribute array: Color color field, scene-graph level=7, element #19, 2883 total numbers made up of 961 3-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFColor getColor_7_19_color()
		{
			MFColor Color_7_19_color = new MFColor()/*2.finalize*/
				.append(new MFColor(getColor_7_19_color_1()))
				.append(new MFColor(getColor_7_19_color_2()))
				.append(new MFColor(getColor_7_19_color_3()))
				.append(new MFColor(getColor_7_19_color_4()))
				.append(new MFColor(getColor_7_19_color_5()))
				.append(new MFColor(getColor_7_19_color_6()))
				.append(new MFColor(getColor_7_19_color_7()))
				.append(new MFColor(getColor_7_19_color_8()))
				.append(new MFColor(getColor_7_19_color_9()))
				.append(new MFColor(getColor_7_19_color_10()));
			return Color_7_19_color;
		}

	/** The initialized model object, created within initialize() method. */
	private X3D x3dModel;

	/** 
	 * Provide a 
	 * <a href="https://dzone.com/articles/java-copy-shallow-vs-deep-in-which-you-will-swim" target="_blank">shallow copy</a>
	 * of the X3D model.
	 * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html">X3D</a>
	 * @return AuvwSonarVisWindowScene model
	 */
	public X3D getX3dModel()
	{	  
		return x3dModel;
	}
	   
    /** 
     * Default main() method provided for test purposes, uses CommandLine to set global ConfigurationProperties for this object.
     * @param args array of input parameters, provided as arguments
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html#handleArguments-java.lang.String:A-">X3D.handleArguments(args)</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html#validationReport--">X3D.validationReport()</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/CommandLine.html">CommandLine</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/CommandLine.html#USAGE">CommandLine.USAGE</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/ConfigurationProperties.html">ConfigurationProperties</a>
     */
    public static void main(String args[])
    {
        System.out.println("Build this X3D model, showing validation diagnostics...");
        X3D thisExampleX3dModel = new AuvwSonarVisWindowScene().getX3dModel();
//      System.out.println("X3D model construction complete.");
	
        // next handle command line arguments
        boolean hasArguments = (args != null) && (args.length > 0);
        boolean validate = true; // default
        boolean argumentsLoadNewModel = false;
        String  fileName = new String();

        if (args != null)
        {
                for (String arg : args)
                {
                        if (arg.toLowerCase().startsWith("-v") || arg.toLowerCase().contains("validate"))
                        {
                                validate = true; // making sure
                        }
                        if (arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_X3D) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_CLASSICVRML) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_X3DB) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_VRML97) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_EXI) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_GZIP) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_ZIP) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_HTML) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_XHTML))
                        {
                                argumentsLoadNewModel = true;
                                fileName = arg;
                        }
                }
        }
        if      (argumentsLoadNewModel)
                System.out.println("WARNING: \"Savage.CommunicationsAndSensors.Sonar.AuvwSonarVisWindowScene\" model invocation is attempting to load file \"" + fileName + "\" instead of simply validating itself... file loading ignored.");
        else if (hasArguments) // if no arguments provided, this method produces usage warning
                thisExampleX3dModel.handleArguments(args);
	
        if (validate)
        {
            //  System.out.println("--- TODO fix duplicated outputs ---"); // omit when duplicated outputs problem is solved/refactored
		String validationResults = thisExampleX3dModel.validationReport();
            //  System.out.println("-----------------------------------"); // omit when duplicated outputs problem is solved/refactored
                System.out.print("Savage.CommunicationsAndSensors.Sonar.AuvwSonarVisWindowScene self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

                // experimental: test X3DJSAIL output files
                // CommunicationsAndSensors/Sonar/AuvwSonarVisWindowScene_JavaExport.* file validation is checked when building X3D Example Archives
                String filenameX3D  = "CommunicationsAndSensors/Sonar/AuvwSonarVisWindowScene_JavaExport.x3d"; 
                String filenameX3DV = "CommunicationsAndSensors/Sonar/AuvwSonarVisWindowScene_JavaExport.x3dv"; 
                String filenameJSON = "CommunicationsAndSensors/Sonar/AuvwSonarVisWindowScene_JavaExport.json";
                thisExampleX3dModel.toFileX3D        (filenameX3D);
                thisExampleX3dModel.toFileClassicVRML(filenameX3DV);
// TODO         thisExampleX3dModel.toFileJSON       (filenameJSON);
        }
    }
}
