package Savage.HarborEquipment.Crane;

import org.web3d.x3d.jsail.Core.*;
import org.web3d.x3d.jsail.EnvironmentalEffects.*;
import org.web3d.x3d.jsail.fields.*;
import org.web3d.x3d.jsail.Geometry3D.*;
import org.web3d.x3d.jsail.Grouping.*;
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.Texturing.*;

// Javadoc metadata annotations follow, see below for X3DJSAIL Java source code.
/**
 * <p> A Cargo Pier Crane, affectionately known as Big Blue, located at NAVMAG Indian Island. Extracted from SavageDefense/IndianIsland. </p>
 <p> Related links: Catalog page <a href="../../../../HarborEquipment/Crane/CraneIndex.html" target="_blank">Crane</a>,  source <a href="../../../../HarborEquipment/Crane/Crane.java">Crane.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="../../../../HarborEquipment/Crane/Crane.x3d">Crane.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> description </i> </td>
			<td> A Cargo Pier Crane, affectionately known as Big Blue, located at NAVMAG Indian Island. Extracted from SavageDefense/IndianIsland </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> creator </i> </td>
			<td> Planet 9 Studios, Inc., San Francisco, CA </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> producer </i> </td>
			<td> Christian Greuel, Director of Art and Production </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="http://www.planet9.com" target="_blank">http://www.planet9.com</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> IHO S-57: <a href="http://www.caris.com/s-57" target="_blank">http://www.caris.com/s-57</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="http://navy.memorieshop.com/Bremerton/Indian-Island.html" target="_blank">http://navy.memorieshop.com/Bremerton/Indian-Island.html</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> translator </i> </td>
			<td> Xj3D Format Converter </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> created </i> </td>
			<td> 17 August 2006 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> translated </i> </td>
			<td> 14 January 2007 </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> license </i> </td>
			<td> <a href="../../../../HarborEquipment/Crane/../../license.html">../../license.html</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> generator </i> </td>
			<td> X3D-Edit, <a href="https://www.web3d.org/x3d/tools/X3D-Edit" target="_blank">https://www.web3d.org/x3d/tools/X3D-Edit</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/HarborEquipment/Crane/Crane.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Crane.x3d</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 Planet 9 Studios, Inc., San Francisco, CA
 */

public class Crane
{
	/** Default constructor to create this object. */
	public Crane ()
	{
	  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_1)
  .setHead(new head()
    .addMeta(new meta().setName(meta.NAME_TITLE      ).setContent("Crane.x3d"))
    .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("A Cargo Pier Crane, affectionately known as Big Blue, located at NAVMAG Indian Island. Extracted from SavageDefense/IndianIsland"))
    .addMeta(new meta().setName(meta.NAME_CREATOR    ).setContent("Planet 9 Studios, Inc., San Francisco, CA"))
    .addMeta(new meta().setName("producer").setContent("Christian Greuel, Director of Art and Production"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("http://www.planet9.com"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("IHO S-57: http://www.caris.com/s-57"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("http://navy.memorieshop.com/Bremerton/Indian-Island.html"))
    .addMeta(new meta().setName(meta.NAME_TRANSLATOR ).setContent("Xj3D Format Converter"))
    .addMeta(new meta().setName(meta.NAME_CREATED    ).setContent("17 August 2006"))
    .addMeta(new meta().setName(meta.NAME_TRANSLATED ).setContent("14 January 2007"))
    .addMeta(new meta().setName(meta.NAME_MODIFIED   ).setContent("20 October 2019"))
    .addMeta(new meta().setName(meta.NAME_LICENSE    ).setContent("../../license.html"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("X3D-Edit, https://www.web3d.org/x3d/tools/X3D-Edit"))
    .addMeta(new meta().setName(meta.NAME_IDENTIFIER ).setContent("https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Crane.x3d")))
  .setScene(new Scene()
    .addChild(new WorldInfo().setTitle("Crane.x3d"))
    .addChild(new Background().setSkyColor(new MFColor(new double[] {0.3,0.3,0.3})))
    .addChild(new Viewpoint().setDescription("Big blue! On deck").setCenterOfRotation(0.0,0.0,7.0).setOrientation(0.0,1.0,0.0,1.570796).setPosition(40.0,0.0,7.0))
    .addChild(new Viewpoint().setDescription("Big blue! Half way up").setCenterOfRotation(0.0,20.0,7.0).setOrientation(-0.42674,0.79737,0.42674,1.795328).setPosition(40.0,80.0,7.0))
    .addChild(new Viewpoint().setDescription("origin from +Z axis"))
    .addChild(new Switch("ShowGrid").setWhichChoice(-1)
      .addComments(" Authoring hint: these axes are aligned within local coordinate system ")
      .addChild(new Transform("CoordinateAxesAdjustedScale")
        .addChild(new Inline("CoordinateAxes").setUrl(new String[] {"../../X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.x3d","../../../Savage/Tools/Authoring/CoordinateAxes.x3d","https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.x3d","https://www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/CoordinateAxes.x3d","../../X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.wrl","../../../Savage/Tools/Authoring/CoordinateAxes.wrl","https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.wrl","https://www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/CoordinateAxes.wrl"})))
      .addComments(" Grid overlay authoring hint: first adjust grid scale to convenient large size, then adjust overall scale for your scene model ")
      .addChild(new Transform("GridXZ_20x20Fixed_AdjustScale")
        .addChild(new Inline("GridXZ_20x20Fixed").setUrl(new String[] {"GridXZ_20x20Fixed.x3d","../../../Savage/Tools/Authoring/GridXZ_20x20Fixed.x3d","https://www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/GridXZ_20x20Fixed.x3d","GridXZ_20x20Fixed.wrl","../../../Savage/Tools/Authoring/GridXZ_20x20Fixed.wrl","https://www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/GridXZ_20x20Fixed.wrl"}))))
    .addChild(new Transform("ShimFor3dPrintingUnevenSides").setTranslation(0.0,0.8,13.5)
      .addChild(new Shape()
        .addComments(" 4.25' we think... ")
        .setGeometry(new Box().setSize(17.0,1.6,1.0))
        .setAppearance(new Appearance()
          .setMaterial(new Material().setDiffuseColor(0.9,0.9,0.9)))))
    .addChild(new Transform("SupportBase").setTranslation(0.0,0.06,7.0)
      .addChild(new Shape()
        .setGeometry(new Box().setSize(20.0,0.2,20.0))
        .setAppearance(new Appearance()
          .setMaterial(new Material().setDiffuseColor(0.0,0.4,0.8)))))
    .addChild(new Transform().setTranslation(0.0,-1.5,-3.5)
      .addChild(new Transform("dad_Crane1").setScale(1.002,1.002,1.002).setTranslation(0.0,39.7891,0.0)
        .addChild(new Transform("Cylinder01").setRotation(0.0,-.94,-.342,-3.142).setScale(.116,.116,.116).setScaleOrientation(0.0,-.003,1.0,-.192).setTranslation(-1.663,-2.523,3.373)
          .addChild(new Shape()
            .setAppearance(new Appearance("DefIndian31")
              .setTexture(new ImageTexture("CraneMat07").setUrl(new String[] {"Textures/CraneMat07.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat07.jpg"}))
              .setMaterial(new Material("DefIndian1").setAmbientIntensity(0).setDiffuseColor(.5882,.5882,.5882).setShininess(0.145)))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {0,4,3,-1,0,1,4,-1,1,5,4,-1,1,2,5,-1,2,3,5,-1,2,0,3,-1,7,9,10,-1,7,6,9,-1,6,11,9,-1,6,8,11,-1,8,10,11,-1,8,7,10,-1}).setNormalIndex(new int[] {2,3,4,-1,2,1,3,-1,1,5,3,-1,1,0,5,-1,0,4,5,-1,0,2,4,-1,2,3,4,-1,2,1,3,-1,1,5,3,-1,1,0,5,-1,0,4,5,-1,0,2,4,-1}).setTexCoordIndex(new int[] {9,5,10,-1,11,2,5,-1,2,6,5,-1,2,3,6,-1,3,4,6,-1,3,1,4,-1,18,19,20,-1,21,14,19,-1,14,22,19,-1,14,16,22,-1,16,23,22,-1,16,17,23,-1})
              .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {2.842,0.0,0.0,-1.421,0.0,-2.461,-1.421,0.0,2.461,1.838,174.7,26.63,-2.424,174.7,24.17,-2.424,174.7,29.09,-30.96,0.0,-2.461,-26.7,0.0,0.0,-30.96,0.0,2.461,-31.97,174.7,24.17,-27.7,174.7,26.63,-31.97,174.7,29.09})))
              .setTexCoord(new TextureCoordinate("DefIndian32").setPoint(new MFVec2f(new double[] {.5,0.0,.75,0.0,.083,0.0,.417,0.0,.75,1.0,.083,1.0,.417,1.0,.5,1.0,-.25,0.0,-.25,0.0,-.25,1.0,-.25,0.0,-.25,1.0,.5,0.0,.083,0.0,-.25,0.0,.417,0.0,.75,0.0,-.25,0.0,.083,1.0,-.25,1.0,-.25,0.0,.417,1.0,.75,1.0,.5,1.0,-.25,1.0})))
              .setNormal(new Normal().setVector(new MFVec3f(new double[] {-.5326,-.1305,.8362,-.4608,.1311,-.8777,.9964,.0182,-.0824,-.5379,.124,-.8338,.9965,-.0069,.0832,-.4649,-.136,.8748}))))))
        .addChild(new Transform("Box13").setRotation(0.0,-1.0,0.0,-3.142).setScale(.07725,.116,.116).setTranslation(1.948,-5.922,-5.866)
          .addChild(new Shape()
            .setAppearance(new Appearance().setUSE("DefIndian31"))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {0,2,3,-1,3,1,0,-1,4,5,7,-1,7,6,4,-1,0,1,5,-1,5,4,0,-1,3,2,6,-1,6,7,3,-1,8,9,10,-1,10,11,8,-1,12,13,14,-1,14,15,12,-1,8,11,13,-1,13,12,8,-1,10,9,15,-1,15,14,10,-1}).setNormalIndex(new int[] {4,4,4,-1,4,4,4,-1,2,2,2,-1,2,2,2,-1,3,3,3,-1,3,3,3,-1,5,5,5,-1,5,5,5,-1,4,4,4,-1,4,4,4,-1,2,2,2,-1,2,2,2,-1,3,3,3,-1,3,3,3,-1,5,5,5,-1,5,5,5,-1}).setTexCoordIndex(new int[] {16,17,18,-1,18,19,16,-1,20,21,22,-1,22,23,20,-1,32,33,34,-1,34,35,32,-1,36,37,38,-1,38,39,36,-1,24,25,26,-1,26,27,24,-1,28,29,30,-1,30,31,28,-1,40,41,42,-1,42,43,40,-1,44,45,46,-1,46,47,44,-1})
              .setCoord(new Coordinate("Box13-COORD").setPoint(new MFVec3f(new double[] {2.668,0.0,177.0,10.32,0.0,177.0,2.668,0.0,-177.0,10.32,0.0,-177.0,2.668,18.6,177.0,10.32,18.6,177.0,2.668,18.6,-177.0,10.32,18.6,-177.0,39.45,0.0,177.0,39.45,0.0,-177.0,47.1,0.0,-177.0,47.1,0.0,177.0,39.45,18.6,177.0,47.1,18.6,177.0,47.1,18.6,-177.0,39.45,18.6,-177.0})))
              .setTexCoord(new TextureCoordinate("Box13-TEXCOORD").setPoint(new MFVec2f(new double[] {1.0,.001,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,1.0,.001,1.0,1.0,0.0,1.0,1.0,.001,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,1.0,.001,1.0,1.0,0.0,1.0,0.0,-1.879,.001,2.879,.201,2.879,.201,-1.879,0.0,-1.879,.201,-1.879,.201,2.879,.001,2.879,.799,-1.879,.799,2.879,1.0,2.879,1.0,-1.879,.799,-1.879,1.0,-1.879,1.0,2.879,.799,2.879,-1.284,0.0,-.567,0.0,-.567,1.0,-1.284,1.0,-.567,0.0,-1.284,0.0,-1.284,1.0,-.567,1.0,1.567,0.0,2.284,0.0,2.284,1.0,1.567,1.0,2.284,0.0,1.567,0.0,1.567,1.0,2.284,1.0})))
              .setNormal(new Normal().setVector(new MFVec3f(new double[] {1.0,0.0,0.0,-1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,-1.0,0.0,0.0,0.0,-1.0})))))
          .addChild(new Shape()
            .setAppearance(new Appearance()
              .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat08.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat08.jpg"}))
              .setMaterial(new Material().setUSE("DefIndian1")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {1,3,7,-1,7,5,1,-1,2,0,4,-1,4,6,2,-1,11,10,14,-1,14,13,11,-1,9,8,12,-1,12,15,9,-1}).setNormalIndex(new int[] {0,0,0,-1,0,0,0,-1,1,1,1,-1,1,1,1,-1,0,0,0,-1,0,0,0,-1,1,1,1,-1,1,1,1,-1}).setTexCoordIndex(new int[] {1,3,7,-1,7,5,1,-1,2,0,4,-1,4,6,2,-1,11,10,14,-1,14,13,11,-1,9,8,12,-1,12,15,9,-1})
              .setCoord(new Coordinate().setUSE("Box13-COORD"))
              .setTexCoord(new TextureCoordinate().setUSE("Box13-TEXCOORD"))
              .setNormal(new Normal().setVector(new MFVec3f(new double[] {1.0,0.0,0.0,-1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,-1.0,0.0,0.0,0.0,-1.0}))))))
        .addChild(new Transform("Box29").setRotation(0.0,.609,.793,-3.142).setScale(.116,.116,.116).setScaleOrientation(-.529,.052,-.847,-.091).setTranslation(3.269,15.2,18.13)
          .addChild(new Shape()
            .setAppearance(new Appearance("DefIndian33")
              .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat06.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat06.jpg"}))
              .setMaterial(new Material().setUSE("DefIndian1")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {20,21,23,-1,23,22,20,-1,28,29,31,-1,31,30,28,-1}).setNormalIndex(new int[] {4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {8,9,11,-1,11,10,8,-1,12,13,15,-1,15,14,12,-1})
              .setCoord(new Coordinate("Box29-COORD").setPoint(new MFVec3f(new double[] {2.668,-.00004,205.7,10.32,-.00004,205.7,2.668,0.0,-177.0,10.32,0.0,-177.0,2.668,18.6,205.7,10.32,18.6,205.7,2.668,18.6,-177.0,10.32,18.6,-177.0,44.79,-.00004,205.7,44.79,0.0,-177.0,52.44,0.0,-177.0,52.44,-.00004,205.7,44.79,18.6,205.7,52.44,18.6,205.7,52.44,18.6,-177.0,44.79,18.6,-177.0,2.668,-.00002,143.8,52.44,-.00002,143.8,2.668,-.00002,152.0,52.44,-.00002,152.0,2.668,-2.259,143.8,52.44,-2.259,143.8,2.668,-2.259,152.0,52.44,-2.259,152.0,2.668,-.00001,197.2,52.44,-.00001,197.2,2.668,-.00001,205.3,52.44,-.00001,205.3,2.668,-2.259,197.2,52.44,-2.259,197.2,2.668,-2.259,205.3,52.44,-2.259,205.3})))
              .setTexCoord(new TextureCoordinate("Box29-TEXCOORD").setPoint(new MFVec2f(/*0.invocation*/)))
              .setNormal(new Normal().setVector(new MFVec3f(new double[] {1.0,0.0,0.0,-1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,-1.0,0.0,0.0,0.0,-1.0})))))
          .addChild(new Shape()
            .setAppearance(new Appearance().setUSE("DefIndian31"))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {0,2,3,-1,3,1,0,-1,4,5,7,-1,7,6,4,-1,0,1,5,-1,5,4,0,-1,1,3,7,-1,7,5,1,-1,3,2,6,-1,6,7,3,-1,2,0,4,-1,4,6,2,-1,8,9,10,-1,10,11,8,-1,12,13,14,-1,14,15,12,-1,8,11,13,-1,13,12,8,-1,11,10,14,-1,14,13,11,-1,10,9,15,-1,15,14,10,-1,9,8,12,-1,12,15,9,-1,16,18,19,-1,19,17,16,-1,16,17,21,-1,21,20,16,-1,17,19,23,-1,23,21,17,-1,19,18,22,-1,22,23,19,-1,18,16,20,-1,20,22,18,-1,24,26,27,-1,27,25,24,-1,24,25,29,-1,29,28,24,-1,25,27,31,-1,31,29,25,-1,27,26,30,-1,30,31,27,-1,26,24,28,-1,28,30,26,-1}).setNormalIndex(new int[] {4,4,4,-1,4,4,4,-1,2,2,2,-1,2,2,2,-1,3,3,3,-1,3,3,3,-1,0,0,0,-1,0,0,0,-1,5,5,5,-1,5,5,5,-1,1,1,1,-1,1,1,1,-1,4,4,4,-1,4,4,4,-1,2,2,2,-1,2,2,2,-1,3,3,3,-1,3,3,3,-1,0,0,0,-1,0,0,0,-1,5,5,5,-1,5,5,5,-1,1,1,1,-1,1,1,1,-1,2,2,2,-1,2,2,2,-1,5,5,5,-1,5,5,5,-1,0,0,0,-1,0,0,0,-1,3,3,3,-1,3,3,3,-1,1,1,1,-1,1,1,1,-1,2,2,2,-1,2,2,2,-1,5,5,5,-1,5,5,5,-1,0,0,0,-1,0,0,0,-1,3,3,3,-1,3,3,3,-1,1,1,1,-1,1,1,1,-1}).setTexCoordIndex(new int[] {0,2,3,-1,3,1,0,-1,4,5,7,-1,7,6,4,-1,0,1,5,-1,5,4,0,-1,1,3,7,-1,7,5,1,-1,3,2,6,-1,6,7,3,-1,2,0,4,-1,4,6,2,-1,8,9,10,-1,10,11,8,-1,12,13,14,-1,14,15,12,-1,8,11,13,-1,13,12,8,-1,11,10,14,-1,14,13,11,-1,10,9,15,-1,15,14,10,-1,9,8,12,-1,12,15,9,-1,16,18,19,-1,19,17,16,-1,16,17,21,-1,21,20,16,-1,17,19,23,-1,23,21,17,-1,19,18,22,-1,22,23,19,-1,18,16,20,-1,20,22,18,-1,24,26,27,-1,27,25,24,-1,24,25,29,-1,29,28,24,-1,25,27,31,-1,31,29,25,-1,27,26,30,-1,30,31,27,-1,26,24,28,-1,28,30,26,-1})
              .setCoord(new Coordinate().setUSE("Box29-COORD"))
              .setTexCoord(new TextureCoordinate().setUSE("Box29-TEXCOORD"))
              .setNormal(new Normal().setVector(new MFVec3f(new double[] {1.0,0.0,0.0,-1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,-1.0,0.0,0.0,0.0,-1.0}))))))
        .addChild(new Transform("Cylinder111").setRotation(0.0,-.866,-.5,-3.142).setScale(.116,.116,.116).setScaleOrientation(.93,.366,-.039,-.625).setTranslation(-1.834,3.201,-1.691)
          .addChild(new Shape()
            .setAppearance(new Appearance().setUSE("DefIndian31"))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {0,2,1,-1,0,3,2,-1,0,1,3,-1,1,5,4,-1,1,2,5,-1,2,6,5,-1,2,3,6,-1,3,4,6,-1,3,1,4,-1,7,8,9,-1,7,10,8,-1,7,9,10,-1,9,11,12,-1,9,8,11,-1,8,13,11,-1,8,10,13,-1,10,12,13,-1,10,9,12,-1}).setNormalIndex(new int[] {3,3,3,-1,3,3,3,-1,3,3,3,-1,2,5,6,-1,2,1,5,-1,1,0,5,-1,1,4,0,-1,4,6,0,-1,4,2,6,-1,3,3,3,-1,3,3,3,-1,3,3,3,-1,2,5,6,-1,2,1,5,-1,1,0,5,-1,1,4,0,-1,4,6,0,-1,4,2,6,-1}).setTexCoordIndex(new int[] {0,2,1,-1,0,3,2,-1,0,1,3,-1,1,5,4,-1,1,2,5,-1,2,6,5,-1,2,3,6,-1,3,4,6,-1,3,1,4,-1,7,8,9,-1,7,10,8,-1,7,9,10,-1,9,11,12,-1,9,8,11,-1,8,13,11,-1,8,10,13,-1,10,12,13,-1,10,9,12,-1})
              .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-2.194,-212.5,49.79,-.858,-212.5,49.79,-2.861,-212.5,48.63,-2.861,-212.5,50.94,-1.861,174.7,26.63,-3.865,174.7,25.47,-3.865,174.7,27.79,-29.54,-212.5,49.79,-30.21,-212.5,48.63,-28.21,-212.5,49.79,-30.21,-212.5,50.94,-31.21,174.7,25.47,-29.21,174.7,26.63,-31.21,174.7,27.79})))
              .setTexCoord(new TextureCoordinate().setUSE("DefIndian32"))
              .setNormal(new Normal().setVector(new MFVec3f(new double[] {-.5152,.0498,.8555,-.513,-.0525,-.8567,.9994,.0045,.0328,0.0,-1.0,0.0,-.4845,.0509,.8732,-.4866,-.0534,-.8719,.9994,.0006,-.0329}))))))
        .addChild(new Transform("Rectangle103").setRotation(-.577,-.577,.577,-2.094).setScale(.1773,.06514,.116).setTranslation(-3.069,-2.196,-10.71)
          .addChild(new Shape()
            .setAppearance(new Appearance()
              .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat09.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat09.jpg"}))
              .setMaterial(new Material().setUSE("DefIndian1")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {17,16,7,-1,7,8,17,-1}).setNormalIndex(new int[] {5,5,5,-1,5,5,5,-1}).setTexCoordIndex(new int[] {7,6,2,-1,2,3,7,-1})
              .setCoord(new Coordinate("Rectangle103-COORD").setPoint(new MFVec3f(new double[] {26.94,0.0,9.978,35.92,0.0,9.978,35.92,0.0,-9.827,26.94,0.0,-9.827,26.94,0.0,-17.42,0.0,0.0,-19.23,-26.94,0.0,-17.42,-26.94,0.0,14.15,26.94,0.0,14.15,26.94,95.0,9.978,35.92,95.0,9.978,35.92,95.0,-9.827,26.94,95.0,-9.827,26.94,95.0,-17.42,0.0,95.0,-19.23,-26.94,95.0,-17.42,-26.94,95.0,14.15,26.94,95.0,14.15})))
              .setTexCoord(new TextureCoordinate("Rectangle103-TEXCOORD").setPoint(new MFVec2f(new double[] {0.0,0.0,0.0,0.0,0.0,.001,1.0,.001,0.0,0.0,0.0,0.0,0.0,2.999,1.0,2.999,0.0,0.0,1.0,.125,1.0,0.0,0.0,.941,.5,.996,1.0,.941,0.0,0.0,1.0,0.0,1.0,.125,0.0,.941,.5,.996,1.0,.941,1.0,.715,.001,1.0,1.0,1.0,1.0,0.0,0.0,0.0,.001,1.0,0.0,0.0,1.0,0.0,1.0,1.0,9.615,1.0,9.615,0.0,-8.615,0.0,-8.615,1.0,12.99,0.0,12.99,.965,-11.99,.965,-11.99,0.0,12.99,.128,12.99,0.0,-11.99,0.0,-11.99,.128,12.99,.965,12.99,.733,-11.99,.965,-11.99,.733,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,1.999,1.0,2.331,1.0,2.331,0.0,1.999,0.0})))
              .setNormal(new Normal("DefIndian34").setVector(new MFVec3f(new double[] {.0671,0.0,-.9977,1.0,0.0,0.0,-.0671,0.0,-.9977,-1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,-1.0,0.0,.1815,-.9833,0.0,0.0,0.0,-1.0})))))
          .addChild(new Shape()
            .setAppearance(new Appearance()
              .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat11.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat11.jpg"}))
              .setMaterial(new Material().setUSE("DefIndian1")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {4,3,0,-1,5,4,0,-1,6,5,0,-1,7,6,0,-1,7,0,8,-1,16,17,9,-1,9,13,14,-1,9,14,15,-1,16,9,15,-1}).setNormalIndex(new int[] {6,7,6,-1,6,6,6,-1,6,6,6,-1,6,6,6,-1,6,6,6,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {4,3,0,-1,5,4,0,-1,6,5,0,-1,7,6,0,-1,7,0,8,-1,16,17,9,-1,9,13,14,-1,9,14,15,-1,16,9,15,-1})
              .setCoord(new Coordinate().setUSE("Rectangle103-COORD"))
              .setTexCoord(new TextureCoordinate().setUSE("Rectangle103-TEXCOORD"))
              .setNormal(new Normal().setUSE("DefIndian34"))))
          .addChild(new Shape()
            .setAppearance(new Appearance()
              .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat12.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat12.jpg"}))
              .setMaterial(new Material().setUSE("DefIndian1")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {10,9,0,-1,0,1,10,-1,3,2,1,-1,1,0,3,-1,12,9,10,-1,12,10,11,-1}).setNormalIndex(new int[] {5,5,5,-1,5,5,5,-1,7,6,6,-1,6,6,7,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {10,9,0,-1,0,1,10,-1,3,2,1,-1,1,0,3,-1,12,9,10,-1,12,10,11,-1})
              .setCoord(new Coordinate().setUSE("Rectangle103-COORD"))
              .setTexCoord(new TextureCoordinate().setUSE("Rectangle103-TEXCOORD"))
              .setNormal(new Normal().setUSE("DefIndian34"))))
          .addChild(new Shape()
            .setAppearance(new Appearance()
              .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat15.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat15.jpg"}))
              .setMaterial(new Material().setUSE("DefIndian1")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {11,10,1,-1,1,2,11,-1}).setNormalIndex(new int[] {1,1,1,-1,1,1,1,-1}).setTexCoordIndex(new int[] {11,10,1,-1,1,2,11,-1})
              .setCoord(new Coordinate().setUSE("Rectangle103-COORD"))
              .setTexCoord(new TextureCoordinate().setUSE("Rectangle103-TEXCOORD"))
              .setNormal(new Normal().setUSE("DefIndian34"))))
          .addChild(new Shape()
            .setAppearance(new Appearance("DefIndian35")
              .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat16.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat16.jpg"}))
              .setMaterial(new Material().setUSE("DefIndian1")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {16,15,6,-1,6,7,16,-1,9,17,8,-1,8,0,9,-1,13,12,4,-1,4,12,3,-1}).setNormalIndex(new int[] {3,3,3,-1,3,3,3,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1}).setTexCoordIndex(new int[] {16,15,6,-1,6,7,16,-1,9,17,8,-1,8,0,9,-1,13,12,4,-1,4,12,3,-1})
              .setCoord(new Coordinate().setUSE("Rectangle103-COORD"))
              .setTexCoord(new TextureCoordinate().setUSE("Rectangle103-TEXCOORD"))
              .setNormal(new Normal().setUSE("DefIndian34"))))
          .addChild(new Shape()
            .setAppearance(new Appearance("DefIndian36")
              .setTexture(new ImageTexture().setUrl(new String[] {"Textures/Bld833MatRoof.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/Bld833MatRoof.jpg"}))
              .setMaterial(new Material().setUSE("DefIndian1")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {12,11,2,-1,2,3,12,-1,14,13,4,-1,4,5,14,-1,15,14,5,-1,5,6,15,-1}).setNormalIndex(new int[] {8,8,8,-1,8,8,8,-1,0,0,0,-1,0,0,0,-1,2,2,2,-1,2,2,2,-1}).setTexCoordIndex(new int[] {12,11,2,-1,2,3,12,-1,14,13,4,-1,4,5,14,-1,15,14,5,-1,5,6,15,-1})
              .setCoord(new Coordinate().setUSE("Rectangle103-COORD"))
              .setTexCoord(new TextureCoordinate().setUSE("Rectangle103-TEXCOORD"))
              .setNormal(new Normal().setUSE("DefIndian34")))))
        .addChild(new Transform("Box30").setRotation(0.0,-1.0,0.0,-3.142).setScale(.09322,.116,.116).setTranslation(-9.812,-25.18,3.428)
          .addChild(new Shape()
            .setAppearance(new Appearance()
              .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat01.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat01.jpg"}))
              .setMaterial(new Material().setUSE("DefIndian1")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {13,82,83,-1,19,90,91,-1,81,12,38,-1,85,78,76,-1,38,85,76,-1,81,38,76,-1,91,77,79,-1,95,41,19,-1,79,95,19,-1,91,79,19,-1,83,72,74,-1,87,39,13,-1,74,87,13,-1,83,74,13,-1,89,18,40,-1,92,75,73,-1,40,92,73,-1,89,40,73,-1,80,12,81,-1,85,38,84,-1,86,39,87,-1,88,18,89,-1,92,40,93,-1,94,41,95,-1}).setNormalIndex(new int[] {6,6,6,-1,75,75,75,-1,71,71,71,-1,50,50,50,-1,50,50,50,-1,50,50,50,-1,75,75,75,-1,75,75,75,-1,75,75,75,-1,75,75,75,-1,75,75,75,-1,75,75,75,-1,75,75,75,-1,12,12,12,-1,50,50,50,-1,50,50,50,-1,71,71,71,-1,50,50,50,-1,0,0,0,-1,50,50,50,-1,75,75,75,-1,50,50,50,-1,50,50,50,-1,75,75,75,-1}).setTexCoordIndex(new int[] {61,62,63,-1,81,82,83,-1,68,69,67,-1,64,65,66,-1,67,64,66,-1,68,67,66,-1,83,84,85,-1,86,87,81,-1,85,86,81,-1,83,85,81,-1,63,73,72,-1,70,71,61,-1,72,70,61,-1,63,72,61,-1,88,89,90,-1,92,93,91,-1,90,92,91,-1,88,90,91,-1,74,69,68,-1,64,67,75,-1,76,71,70,-1,94,89,88,-1,92,90,95,-1,96,87,86,-1})
              .setCoord(new Coordinate("Box30-COORD").setPoint(getBox30_COORD_8_134_point()))
              .setTexCoord(new TextureCoordinate("Box30-TEXCOORD").setPoint(getBox30_TEXCOORD_8_135_point()))
              .setNormal(new Normal("DefIndian37").setVector(getDefIndian37_8_136_vector()))))
          .addChild(new Shape()
            .setAppearance(new Appearance()
              .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat02.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat02.jpg"}))
              .setMaterial(new Material().setUSE("DefIndian1")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {85,84,100,-1,100,98,2,-1,85,100,2,-1,78,85,2,-1,74,50,49,-1,74,49,86,-1,74,86,87,-1,92,93,51,-1,51,52,75,-1,92,51,75,-1,44,45,53,-1,53,54,44,-1,42,43,56,-1,44,55,45,-1,94,95,79,-1,79,54,53,-1,94,79,53,-1,60,61,56,-1,56,43,60,-1,59,45,55,-1,55,62,59,-1,71,43,42,-1,42,63,71,-1,47,66,67,-1,67,46,47,-1}).setNormalIndex(new int[] {50,50,50,-1,22,22,22,-1,50,50,50,-1,50,50,50,-1,75,75,75,-1,75,75,75,-1,75,75,75,-1,50,50,50,-1,50,50,50,-1,50,50,50,-1,15,15,15,-1,38,38,38,-1,28,28,28,-1,25,25,25,-1,75,75,75,-1,75,75,75,-1,75,75,75,-1,50,50,50,-1,50,50,50,-1,75,75,75,-1,75,75,75,-1,60,60,60,-1,42,42,42,-1,75,75,75,-1,75,75,75,-1}).setTexCoordIndex(new int[] {85,84,100,-1,100,98,2,-1,85,100,2,-1,78,85,2,-1,74,50,49,-1,74,49,86,-1,74,86,87,-1,92,93,51,-1,51,52,75,-1,92,51,75,-1,44,45,53,-1,53,54,44,-1,42,43,56,-1,44,55,45,-1,94,95,79,-1,79,54,53,-1,94,79,53,-1,60,61,56,-1,56,43,60,-1,59,45,55,-1,55,62,59,-1,71,43,42,-1,42,63,71,-1,47,66,67,-1,67,46,47,-1})
              .setCoord(new Coordinate().setUSE("Box30-COORD"))
              .setTexCoord(new TextureCoordinate().setUSE("Box30-TEXCOORD"))
              .setNormal(new Normal().setUSE("DefIndian37"))))
          .addChild(new Shape()
            .setAppearance(new Appearance()
              .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat03.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat03.jpg"}))
              .setMaterial(new Material().setUSE("DefIndian1")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {72,26,23,-1,35,16,14,-1,36,35,14,-1,23,36,14,-1,72,23,14,-1,72,14,76,-1,73,77,30,-1,30,28,73,-1,68,28,30,-1,7,6,33,-1,7,33,68,-1,7,68,30,-1,5,4,11,-1,11,10,5,-1,47,50,74,-1,74,78,2,-1,47,74,2,-1,2,3,65,-1,2,65,66,-1,47,2,66,-1,54,79,75,-1,75,52,54,-1,54,52,70,-1,44,54,70,-1,44,70,63,-1,44,63,42,-1,62,55,56,-1,56,61,62,-1,12,13,39,-1,39,38,12,-1,18,19,41,-1,41,40,18,-1}).setNormalIndex(new int[] {32,32,32,-1,45,45,45,-1,45,45,45,-1,45,45,45,-1,35,35,35,-1,45,45,45,-1,48,48,48,-1,2,2,2,-1,1,1,1,-1,45,45,45,-1,62,62,62,-1,66,66,66,-1,39,39,39,-1,39,39,39,-1,74,74,74,-1,57,57,57,-1,19,19,19,-1,65,65,65,-1,65,65,65,-1,65,65,65,-1,58,58,58,-1,18,18,18,-1,21,21,21,-1,8,8,8,-1,5,5,5,-1,65,65,65,-1,53,53,53,-1,53,53,53,-1,56,56,56,-1,56,56,56,-1,56,56,56,-1,56,56,56,-1}).setTexCoordIndex(new int[] {72,26,23,-1,35,16,14,-1,36,35,14,-1,23,36,14,-1,72,23,14,-1,72,14,76,-1,73,77,30,-1,30,28,73,-1,68,28,30,-1,7,6,33,-1,7,33,68,-1,7,68,30,-1,5,4,11,-1,11,10,5,-1,47,50,74,-1,74,78,2,-1,47,74,2,-1,2,3,65,-1,2,65,66,-1,47,2,66,-1,54,79,75,-1,75,52,54,-1,54,52,70,-1,44,54,70,-1,44,70,63,-1,44,63,42,-1,62,55,56,-1,56,61,62,-1,12,13,39,-1,39,38,12,-1,18,19,41,-1,41,40,18,-1})
              .setCoord(new Coordinate().setUSE("Box30-COORD"))
              .setTexCoord(new TextureCoordinate().setUSE("Box30-TEXCOORD"))
              .setNormal(new Normal().setUSE("DefIndian37"))))
          .addChild(new Shape()
            .setAppearance(new Appearance()
              .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat04.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat04.jpg"}))
              .setMaterial(new Material().setUSE("DefIndian1")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {14,96,97,-1,97,80,81,-1,14,97,81,-1,76,14,81,-1}).setNormalIndex(new int[] {22,22,22,-1,0,0,0,-1,50,50,50,-1,50,50,50,-1}).setTexCoordIndex(new int[] {14,96,97,-1,97,80,81,-1,14,97,81,-1,76,14,81,-1})
              .setCoord(new Coordinate().setUSE("Box30-COORD"))
              .setTexCoord(new TextureCoordinate().setUSE("Box30-TEXCOORD"))
              .setNormal(new Normal().setUSE("DefIndian37"))))
          .addChild(new Shape()
            .setAppearance(new Appearance()
              .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat05.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat05.jpg"}))
              .setMaterial(new Material().setUSE("DefIndian1")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {51,48,46,-1,46,49,51,-1}).setNormalIndex(new int[] {9,9,9,-1,9,9,9,-1}).setTexCoordIndex(new int[] {51,48,46,-1,46,49,51,-1})
              .setCoord(new Coordinate().setUSE("Box30-COORD"))
              .setTexCoord(new TextureCoordinate().setUSE("Box30-TEXCOORD"))
              .setNormal(new Normal().setUSE("DefIndian37"))))
          .addChild(new Shape()
            .setAppearance(new Appearance().setUSE("DefIndian33"))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {22,24,27,-1,27,25,22,-1,26,28,68,-1,68,23,26,-1,70,52,50,-1,50,47,70,-1}).setNormalIndex(new int[] {27,27,27,-1,27,27,27,-1,59,59,59,-1,59,59,59,-1,82,82,82,-1,82,82,82,-1}).setTexCoordIndex(new int[] {22,24,27,-1,27,25,22,-1,26,28,68,-1,68,23,26,-1,70,52,50,-1,50,47,70,-1})
              .setCoord(new Coordinate().setUSE("Box30-COORD"))
              .setTexCoord(new TextureCoordinate().setUSE("Box30-TEXCOORD"))
              .setNormal(new Normal().setUSE("DefIndian37"))))
          .addChild(new Shape()
            .setAppearance(new Appearance()
              .setTexture(new ImageTexture().setUSE("CraneMat07"))
              .setMaterial(new Material("material0").setAmbientIntensity(0).setDiffuseColor(.58823,.58823,.58823).setShininess(0.145)))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(getIndexedFaceSet_7_180_coordIndex()).setNormalIndex(getIndexedFaceSet_7_180_normalIndex()).setTexCoordIndex(getIndexedFaceSet_7_180_texCoordIndex())
              .setCoord(new Coordinate().setUSE("Box30-COORD"))
              .setTexCoord(new TextureCoordinate().setUSE("Box30-TEXCOORD"))
              .setNormal(new Normal().setUSE("DefIndian37")))))
        .addChild(new Transform("Rectangle105").setRotation(-.577,-.577,.577,-2.094).setScale(.1182,.06514,.116).setTranslation(-3.069,-2.196,9.645)
          .addChild(new Shape()
            .setAppearance(new Appearance()
              .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat10.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat10.jpg"}))
              .setMaterial(new Material().setUSE("DefIndian1")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {9,8,0,-1,0,1,9,-1,8,15,7,-1,7,0,8,-1}).setNormalIndex(new int[] {7,7,7,-1,7,7,7,-1,7,7,7,-1,7,7,7,-1}).setTexCoordIndex(new int[] {21,22,23,-1,23,24,21,-1,22,25,26,-1,26,23,22,-1})
              .setCoord(new Coordinate("Rectangle105-COORD").setPoint(new MFVec3f(new double[] {26.94,0.0,14.15,48.37,0.0,14.15,41.01,0.0,-7.089,26.94,0.0,-8.48,26.94,0.0,-17.65,0.0,0.0,-19.23,-26.94,0.0,-18.54,-26.94,0.0,14.15,26.94,95.0,14.15,48.37,95.0,14.15,41.01,95.0,-7.089,26.94,95.0,-8.48,26.94,95.0,-17.65,0.0,95.0,-19.23,-26.94,95.0,-18.54,-26.94,95.0,14.15,48.37,0.0,3.232,48.37,95.0,3.232})))
              .setTexCoord(new TextureCoordinate("Rectangle105-TEXCOORD").setPoint(new MFVec2f(new double[] {1.0,0.0,1.0,.718,1.0,.952,.5,1.0,0.0,.979,0.0,.001,1.0,0.0,1.0,.952,.5,1.0,0.0,.979,0.0,.001,.001,.975,.656,.915,1.0,0.0,0.0,.001,.001,.975,0.0,.001,1.0,0.0,.656,.915,1.0,.471,1.0,.471,0.0,1.0,0.0,.715,1.0,.715,1.0,1.0,0.0,0.0,1.0,0.0,12.99,1.0,12.99,0.0,-11.99,1.0,-11.99,0.0,12.99,0.0,12.99,1.0,-11.99,1.0,-11.99,0.0,12.99,.334,12.99,0.0,-11.99,0.0,-11.99,.334,1.0,.001,1.0,1.0,0.0,1.0,0.0,.001,1.0,1.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,.001,0.0,.001,1.0,1.0,1.0,1.0,0.0})))
              .setNormal(new Normal("DefIndian38").setVector(new MFVec3f(new double[] {.0983,0.0,-.9951,1.0,0.0,0.0,.8141,0.0,-.5807,-1.0,0.0,0.0,-.0256,0.0,-.9996,0.0,1.0,0.0,-.0054,-.9999,0.0,0.0,0.0,1.0,.0587,0.0,-.9982,0.0,-1.0,0.0})))))
          .addChild(new Shape()
            .setAppearance(new Appearance()
              .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat13.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat13.jpg"}))
              .setMaterial(new Material().setUSE("DefIndian1")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {4,3,0,-1,5,4,0,-1,6,5,0,-1,7,6,0,-1,8,12,13,-1,8,13,14,-1,15,8,14,-1}).setNormalIndex(new int[] {9,6,9,-1,9,9,9,-1,9,9,9,-1,9,9,9,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1}).setTexCoordIndex(new int[] {4,3,0,-1,5,4,0,-1,6,5,0,-1,7,6,0,-1,8,12,13,-1,8,13,14,-1,15,8,14,-1})
              .setCoord(new Coordinate().setUSE("Rectangle105-COORD"))
              .setTexCoord(new TextureCoordinate().setUSE("Rectangle105-TEXCOORD"))
              .setNormal(new Normal().setUSE("DefIndian38"))))
          .addChild(new Shape()
            .setAppearance(new Appearance()
              .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat14.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat14.jpg"}))
              .setMaterial(new Material().setUSE("DefIndian1")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {3,2,1,-1,1,0,3,-1,11,8,9,-1,11,9,10,-1,9,17,10,-1,1,2,16,-1}).setNormalIndex(new int[] {6,9,9,-1,9,9,6,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,9,9,9,-1}).setTexCoordIndex(new int[] {3,2,1,-1,1,0,3,-1,11,8,9,-1,11,9,10,-1,9,17,10,-1,1,2,16,-1})
              .setCoord(new Coordinate().setUSE("Rectangle105-COORD"))
              .setTexCoord(new TextureCoordinate().setUSE("Rectangle105-TEXCOORD"))
              .setNormal(new Normal().setUSE("DefIndian38"))))
          .addChild(new Shape()
            .setAppearance(new Appearance().setUSE("DefIndian35"))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {17,9,1,-1,1,16,17,-1,15,14,6,-1,6,7,15,-1,12,11,4,-1,4,11,3,-1}).setNormalIndex(new int[] {1,1,1,-1,1,1,1,-1,3,3,3,-1,3,3,3,-1,1,1,1,-1,1,1,1,-1}).setTexCoordIndex(new int[] {17,9,1,-1,1,16,17,-1,15,14,6,-1,6,7,15,-1,12,11,4,-1,4,11,3,-1})
              .setCoord(new Coordinate().setUSE("Rectangle105-COORD"))
              .setTexCoord(new TextureCoordinate().setUSE("Rectangle105-TEXCOORD"))
              .setNormal(new Normal().setUSE("DefIndian38"))))
          .addChild(new Shape()
            .setAppearance(new Appearance().setUSE("DefIndian36"))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {11,10,2,-1,2,3,11,-1,13,12,4,-1,4,5,13,-1,14,13,5,-1,5,6,14,-1,2,10,17,-1,17,16,2,-1}).setNormalIndex(new int[] {0,0,0,-1,0,0,0,-1,8,8,8,-1,8,8,8,-1,4,4,4,-1,4,4,4,-1,2,2,2,-1,2,2,2,-1}).setTexCoordIndex(new int[] {11,10,2,-1,2,3,11,-1,13,12,4,-1,4,5,13,-1,14,13,5,-1,5,6,14,-1,2,10,17,-1,17,16,2,-1})
              .setCoord(new Coordinate().setUSE("Rectangle105-COORD"))
              .setTexCoord(new TextureCoordinate().setUSE("Rectangle105-TEXCOORD"))
              .setNormal(new Normal().setUSE("DefIndian38")))))
        .addChild(new Transform("Group44").setTranslation(0.0,-35.93,17.1)
          .addChild(new Transform("Box32").setRotation(-1.0,0.0,0.0,-1.571).setScale(.8684,.8684,.8684).setTranslation(.05562,.3765,-.4613)
            .addChild(new Shape()
              .setAppearance(new Appearance("DefIndian39")
                .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat21.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat21.jpg"}))
                .setMaterial(new Material().setUSE("DefIndian1")))
              .setGeometry(new IndexedFaceSet("Box32-FACES").setDEF("Box32-FACES").setCreaseAngle(0.524).setCoordIndex(new int[] {8,9,1,-1,1,0,8,-1,5,10,11,-1,11,4,5,-1,9,10,5,-1,5,1,9,-1,8,11,6,-1,6,2,8,-1,2,3,9,-1,9,8,2,-1,7,6,11,-1,11,10,7,-1,3,7,10,-1,10,9,3,-1,0,4,11,-1,11,8,0,-1}).setNormalIndex(new int[] {4,4,9,-1,9,9,4,-1,6,0,0,-1,0,6,6,-1,3,3,1,-1,1,1,3,-1,7,7,2,-1,2,2,7,-1,11,11,4,-1,4,4,11,-1,8,8,0,-1,0,0,8,-1,10,10,3,-1,3,3,10,-1,5,5,7,-1,7,7,5,-1}).setTexCoordIndex(new int[] {12,13,14,-1,15,16,17,-1,18,19,20,-1,21,22,23,-1,24,25,26,-1,5,1,27,-1,28,29,30,-1,31,32,33,-1,34,35,36,-1,37,38,2,-1,39,6,40,-1,41,42,43,-1,44,7,45,-1,10,9,3,-1,46,4,47,-1,11,8,0,-1})
                .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-.2498,.2076,1.625,.2498,.2076,1.625,-.5109,0.0,-.7528,.5109,0.0,-.7528,-.2498,.605,1.625,.2498,.605,1.625,-.5109,.8126,-.7528,.5109,.8126,-.7528,-.2498,.2076,.7916,.2498,.2076,.7916,.2498,.605,.7916,-.2498,.605,.7916})))
                .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.729,-.005,.256,-.005,.001,1.0,0.0,1.0,.256,-.005,.729,-.005,.985,1.0,.985,1.0,.729,.414,.256,.414,.729,.414,.256,.414,.256,.414,.729,.414,.729,-.005,.729,-.005,.256,-.005,.256,.414,.256,-.005,.256,.414,.729,.414,.729,.414,.729,-.005,.256,-.005,.256,.414,.729,.414,.729,-.005,.256,.414,.729,.414,.256,.414,0.0,1.0,0.0,1.0,.985,1.0,.729,.414,.001,1.0,.985,1.0,.729,.414,.729,.414,.256,.414,0.0,1.0,.729,.414,.729,.414,.256,.414,0.0,1.0,0.0,1.0,.729,.414,.729,-.005,.256,.414})))
                .setNormal(new Normal().setVector(new MFVec3f(new double[] {0.0,.9975,.0701,1.0,0.0,0.0,-.986,0.0,.1666,.9962,0.0,.0869,0.0,-.9975,.0701,-1.0,0.0,0.0,0.0,1.0,0.0,-.9962,0.0,.0869,0.0,.991,.1332,0.0,-1.0,0.0,.986,0.0,.1666,0.0,-.991,.1332}))))))
          .addChild(new Transform("Group45").setRotation(-1.0,0.0,0.0,-1.571).setScale(.8684,.8684,.8684).setTranslation(-5.341,.00024,-.05276)
            .addChild(new Transform("Line20").setScale(.661,.661,.661).setTranslation(-1.594,-.3305,-1.043)
              .addChild(new Shape()
                .setAppearance(new Appearance("DefIndian40")
                  .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat20.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat20.jpg"}))
                  .setMaterial(new Material().setUSE("DefIndian1")))
                .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {2,4,3,-1,1,4,2,-1,0,4,1,-1,11,4,0,-1,9,11,10,-1,8,11,9,-1,8,4,11,-1,7,4,8,-1,6,4,7,-1,6,5,4,-1,14,15,16,-1,13,14,16,-1,12,13,16,-1,23,12,16,-1,21,22,23,-1,20,21,23,-1,20,23,16,-1,19,20,16,-1,18,19,16,-1,18,16,17,-1}).setNormalIndex(new int[] {11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1}).setTexCoordIndex(new int[] {42,44,43,-1,41,44,42,-1,40,44,41,-1,51,44,40,-1,49,51,50,-1,48,51,49,-1,48,44,51,-1,47,44,48,-1,46,44,47,-1,46,45,44,-1,54,55,56,-1,53,54,56,-1,52,53,56,-1,63,52,56,-1,61,62,63,-1,60,61,63,-1,60,63,56,-1,59,60,56,-1,58,59,56,-1,58,56,57,-1})
                  .setCoord(new Coordinate("Line20-COORD").setPoint(new MFVec3f(new double[] {6.265,0.0,-.2153,2.294,0.0,-.203,-3.134,0.0,1.009,-3.134,0.0,1.71,3.226,0.0,1.668,2.39,0.0,1.939,2.39,0.0,2.586,3.638,0.0,2.588,6.621,0.0,1.64,7.62,0.0,1.64,7.62,0.0,.7387,6.266,0.0,.7387,6.265,1.0,-.2153,2.294,1.0,-.203,-3.134,1.0,1.009,-3.134,1.0,1.71,3.226,1.0,1.668,2.39,1.0,1.939,2.39,1.0,2.586,3.638,1.0,2.588,6.621,1.0,1.64,7.62,1.0,1.64,7.62,1.0,.7387,6.266,1.0,.7387})))
                  .setTexCoord(new TextureCoordinate("Line20-TEXCOORD").setPoint(new MFVec2f(new double[] {1.0,1.011,1.0,-.011,.001,-.011,0.0,1.011,0.0,.26,0.0,.74,1.0,.74,1.0,.26,0.0,.593,0.0,.893,1.0,.893,1.0,.593,-.388,.343,-.388,.657,.611,.657,.611,.343,1.0,.655,1.0,.345,0.0,.345,0.0,.655,0.0,.348,0.0,.014,1.0,.014,1.0,.348,0.0,.144,0.0,-.211,1.0,-.211,1.0,.144,.358,1.0,0.0,.014,.642,0.0,1.0,.986,0.0,.776,0.0,.224,1.0,.224,1.0,.776,1.0,0.0,1.0,1.0,0.0,1.0,0.0,0.0,.874,.999,.505,.994,0.0,.563,0.0,.327,.591,.328,.514,.232,.514,.001,.629,0.0,.907,.391,1.0,.391,1.0,.659,.874,.659,.874,.999,.505,.994,0.0,.563,0.0,.327,.591,.328,.514,.232,.514,.001,.629,0.0,.907,.391,1.0,.391,1.0,.659,.874,.659,1.0,.226,1.0,.774,0.0,.774,0.0,.226})))
                  .setNormal(new Normal("DefIndian41").setVector(new MFVec3f(new double[] {1.0,0.0,0.0,-.3084,0.0,-.9512,-.3085,0.0,-.9512,-.9872,0.0,.1593,-1.0,0.0,0.0,0.0,1.0,0.0,-.0021,0.0,.9999,.0064,0.0,.9999,-1.0,0.0,.0002,0.0,0.0,1.0,-.2179,0.0,-.9759,0.0,-1.0,0.0,.3029,0.0,.953,.9999,0.0,-.0013,0.0,0.0,-1.0})))))
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian31"))
                .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {1,2,14,-1,1,14,13,-1,2,3,15,-1,2,15,14,-1,3,4,16,-1,3,16,15,-1,4,5,17,-1,4,17,16,-1,5,6,18,-1,5,18,17,-1,6,7,19,-1,6,19,18,-1,7,8,20,-1,7,20,19,-1,8,9,21,-1,8,21,20,-1,9,10,22,-1,9,22,21,-1,10,11,23,-1,10,23,22,-1,11,0,12,-1,11,12,23,-1}).setNormalIndex(new int[] {10,10,10,-1,10,10,10,-1,4,4,4,-1,4,4,4,-1,7,3,3,-1,7,3,7,-1,3,2,1,-1,3,1,3,-1,8,8,8,-1,8,8,8,-1,6,6,6,-1,6,6,6,-1,12,12,12,-1,12,12,12,-1,9,9,9,-1,9,9,9,-1,0,0,0,-1,0,0,0,-1,14,14,14,-1,14,14,14,-1,13,13,13,-1,13,13,13,-1}).setTexCoordIndex(new int[] {1,2,14,-1,1,14,13,-1,2,3,15,-1,2,15,14,-1,3,4,16,-1,3,16,15,-1,4,5,17,-1,4,17,16,-1,5,6,18,-1,5,18,17,-1,6,7,19,-1,6,19,18,-1,7,8,20,-1,7,20,19,-1,8,9,21,-1,8,21,20,-1,9,10,22,-1,9,22,21,-1,10,11,23,-1,10,23,22,-1,11,0,12,-1,11,12,23,-1})
                  .setCoord(new Coordinate().setUSE("Line20-COORD"))
                  .setTexCoord(new TextureCoordinate().setUSE("Line20-TEXCOORD"))
                  .setNormal(new Normal().setUSE("DefIndian41")))))
            .addChild(new Transform("Group47").setScale(.8447,.8447,.8447).setTranslation(-3.059,-.01326,.6125)
              .addChild(new Transform("Line21").setRotation(-1.0,0.0,0.0,-3.142).setScale(.4187,.4187,.4187).setTranslation(3.353,-.1658,.4491)
                .addChild(new Shape()
                  .setAppearance(new Appearance().setUSE("DefIndian31"))
                  .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {0,1,19,-1,0,19,18,-1,1,2,20,-1,1,20,19,-1,2,3,21,-1,2,21,20,-1,3,4,22,-1,3,22,21,-1,4,5,23,-1,4,23,22,-1,5,6,24,-1,5,24,23,-1,6,7,25,-1,6,25,24,-1,7,8,26,-1,7,26,25,-1,8,9,27,-1,8,27,26,-1,9,10,28,-1,9,28,27,-1,10,11,29,-1,10,29,28,-1,11,12,30,-1,11,30,29,-1,12,13,31,-1,12,31,30,-1,13,14,32,-1,13,32,31,-1,14,15,33,-1,14,33,32,-1,15,16,34,-1,15,34,33,-1,16,17,35,-1,16,35,34,-1,17,0,18,-1,17,18,35,-1}).setNormalIndex(new int[] {3,3,3,-1,3,3,3,-1,12,12,12,-1,12,12,12,-1,7,7,7,-1,7,7,7,-1,9,9,9,-1,9,9,9,-1,1,1,1,-1,1,1,1,-1,11,11,11,-1,11,11,11,-1,1,1,1,-1,1,1,1,-1,2,2,2,-1,2,2,2,-1,0,0,0,-1,0,0,0,-1,5,5,5,-1,5,5,5,-1,3,3,3,-1,3,3,3,-1,11,11,11,-1,11,11,11,-1,3,3,3,-1,3,3,3,-1,10,10,10,-1,10,10,10,-1,7,7,7,-1,7,7,7,-1,6,6,6,-1,6,6,6,-1,1,1,1,-1,1,1,1,-1,7,7,7,-1,7,7,7,-1}).setTexCoordIndex(new int[] {92,93,94,-1,92,94,95,-1,80,81,82,-1,80,82,83,-1,100,101,102,-1,100,102,103,-1,72,73,74,-1,72,74,75,-1,108,109,110,-1,108,110,111,-1,68,69,70,-1,68,70,71,-1,64,65,66,-1,64,66,67,-1,60,61,62,-1,60,62,63,-1,56,57,58,-1,56,58,59,-1,52,53,54,-1,52,54,55,-1,48,49,50,-1,48,50,51,-1,44,45,46,-1,44,46,47,-1,112,113,114,-1,112,114,115,-1,84,85,86,-1,84,86,87,-1,104,105,106,-1,104,106,107,-1,76,77,78,-1,76,78,79,-1,96,97,98,-1,96,98,99,-1,88,89,90,-1,88,90,91,-1})
                    .setCoord(new Coordinate("Line21-COORD").setPoint(new MFVec3f(new double[] {-9.173,-.00104,.9208,-9.173,-.00104,.6543,-10.28,-.00104,-.4576,-11.56,-.00104,-.4576,-12.67,-.00104,.6543,-12.67,-.00104,.9384,-11.0,-.00104,.9384,-11.0,-.00104,1.772,-8.533,-.00104,2.687,-7.492,-.00104,2.687,-5.025,-.00104,1.772,-5.025,-.00104,.9384,-3.328,-.00104,.9384,-3.328,-.00104,.6685,-4.411,-.00104,-.4576,-5.738,-.00104,-.4576,-6.821,-.00104,.6685,-6.821,-.00104,.9208,-9.173,-.7423,.9208,-9.173,-.7423,.6543,-10.28,-.7423,-.4576,-11.56,-.7423,-.4576,-12.67,-.7423,.6543,-12.67,-.7423,.9384,-11.0,-.7423,.9384,-11.0,-.7423,1.772,-8.533,-.7423,2.687,-7.492,-.7423,2.687,-5.025,-.7423,1.772,-5.025,-.7423,.9384,-3.328,-.7423,.9384,-3.328,-.7423,.6685,-4.411,-.7423,-.4576,-5.738,-.7423,-.4576,-6.821,-.7423,.6685,-6.821,-.7423,.9208})))
                    .setTexCoord(new TextureCoordinate("Line21-TEXCOORD").setPoint(new MFVec2f(/*0.invocation*/)))
                    .setNormal(new Normal("DefIndian42").setVector(new MFVec3f(new double[] {.0006,0.0,-.9999,1.0,0.0,0.0,.3475,0.0,-.9376,-1.0,0.0,0.0,0.0,1.0,0.0,-.3477,0.0,-.9375,.7207,0.0,.6931,0.0,0.0,1.0,0.0,-1.0,0.0,.7094,0.0,.7047,-.7207,0.0,.6931,0.0,0.0,-1.0,-.7094,0.0,.7047})))))
                .addChild(new Shape()
                  .setAppearance(new Appearance("DefIndian43")
                    .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat17.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat17.jpg"}))
                    .setMaterial(new Material().setUSE("DefIndian1")))
                  .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {10,17,11,-1,9,17,10,-1,9,0,17,-1,8,0,9,-1,7,0,8,-1,6,0,7,-1,28,29,35,-1,27,28,35,-1,27,35,18,-1,26,27,18,-1,25,26,18,-1,24,25,18,-1}).setNormalIndex(new int[] {8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {10,17,11,-1,9,17,10,-1,9,0,17,-1,8,0,9,-1,7,0,8,-1,6,0,7,-1,28,29,35,-1,27,28,35,-1,27,35,18,-1,26,27,18,-1,25,26,18,-1,24,25,18,-1})
                    .setCoord(new Coordinate().setUSE("Line21-COORD"))
                    .setTexCoord(new TextureCoordinate().setUSE("Line21-TEXCOORD"))
                    .setNormal(new Normal().setUSE("DefIndian42"))))
                .addChild(new Shape()
                  .setAppearance(new Appearance("DefIndian44")
                    .setTexture(new ImageTexture().setUrl(new String[] {"Textures/CraneMat18.jpg","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat18.jpg"}))
                    .setMaterial(new Material().setUSE("DefIndian1")))
                  .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {11,13,12,-1,11,14,13,-1,11,15,14,-1,4,6,5,-1,3,6,4,-1,2,6,3,-1,11,16,15,-1,11,17,16,-1,2,0,6,-1,1,0,2,-1,29,30,31,-1,29,31,32,-1,29,32,33,-1,22,23,24,-1,21,22,24,-1,20,21,24,-1,29,33,34,-1,29,34,35,-1,20,24,18,-1,19,20,18,-1}).setNormalIndex(new int[] {8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {11,13,12,-1,11,14,13,-1,11,15,14,-1,4,6,5,-1,3,6,4,-1,2,6,3,-1,11,16,15,-1,11,17,16,-1,2,0,6,-1,1,0,2,-1,29,30,31,-1,29,31,32,-1,29,32,33,-1,22,23,24,-1,21,22,24,-1,20,21,24,-1,29,33,34,-1,29,34,35,-1,20,24,18,-1,19,20,18,-1})
                    .setCoord(new Coordinate().setUSE("Line21-COORD"))
                    .setTexCoord(new TextureCoordinate().setUSE("Line21-TEXCOORD"))
                    .setNormal(new Normal().setUSE("DefIndian42")))))
              .addChild(new Transform("Rectangle01").setScale(1.363,1.363,1.363).setTranslation(-1.697,0.0,.384)
                .addChild(new Shape()
                  .setAppearance(new Appearance("DefIndian45")
                    .setTexture(new ImageTexture().setRepeatS(false).setRepeatT(false).setUrl(new String[] {"Textures/CraneMat22.png","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat22.png"}))
                    .setMaterial(new Material("DefIndian12").setAmbientIntensity(1).setDiffuseColor(.588,.588,.588).setShininess(0.145)))
                  .setGeometry(new IndexedFaceSet("Rectangle01-FACES").setDEF("Rectangle01-FACES").setCreaseAngle(0.524).setSolid(false).setCoordIndex(new int[] {2,3,0,-1,1,2,0,-1}).setNormalIndex(new int[] {0,0,0,-1,0,0,0,-1}).setTexCoordIndex(new int[] {2,3,0,-1,1,2,0,-1})
                    .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {.217,0.0,-.217,-.217,0.0,-.217,-.217,0.0,.217,.217,0.0,.217})))
                    .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {1.0,1.0,0.0,1.0,0.0,0.0,1.0,0.0})))
                    .setNormal(new Normal().setVector(new MFVec3f(new double[] {0.0,1.0,0.0}))))))
              .addChild(new Transform("Rectangle106").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(-.7128,-.00004,.384)
                .addChild(new Shape("DefIndian46")
                  .setAppearance(new Appearance().setUSE("DefIndian45"))
                  .setGeometry(new IndexedFaceSet().setUSE("Rectangle01-FACES"))))
              .addChild(new Transform("Rectangle107").setScale(1.363,1.363,1.363).setTranslation(.7312,.00003,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle108").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(1.715,-.00002,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle109").setScale(1.363,1.363,1.363).setTranslation(3.251,.00004,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle110").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(4.235,0.0,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle111").setScale(1.363,1.363,1.363).setTranslation(5.526,.00008,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle112").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(6.51,.00004,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle113").setScale(1.363,1.363,1.363).setTranslation(7.974,-.00005,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle114").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(8.958,.00007,.384)
                .addChild(new Shape().setUSE("DefIndian46"))))
            .addChild(new Transform("Line22").setRotation(-1.0,0.0,0.0,-3.142).setScale(.3537,.3537,.3537).setTranslation(5.89,-.1533,.9919)
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian31"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {0,1,19,-1,0,19,18,-1,1,2,20,-1,1,20,19,-1,2,3,21,-1,2,21,20,-1,3,4,22,-1,3,22,21,-1,4,5,23,-1,4,23,22,-1,5,6,24,-1,5,24,23,-1,6,7,25,-1,6,25,24,-1,7,8,26,-1,7,26,25,-1,8,9,27,-1,8,27,26,-1,9,10,28,-1,9,28,27,-1,10,11,29,-1,10,29,28,-1,11,12,30,-1,11,30,29,-1,12,13,31,-1,12,31,30,-1,13,14,32,-1,13,32,31,-1,14,15,33,-1,14,33,32,-1,15,16,34,-1,15,34,33,-1,16,17,35,-1,16,35,34,-1,17,0,18,-1,17,18,35,-1}).setNormalIndex(new int[] {3,3,3,-1,3,3,3,-1,12,12,12,-1,12,12,12,-1,7,7,7,-1,7,7,7,-1,9,9,9,-1,9,9,9,-1,1,1,1,-1,1,1,1,-1,11,11,11,-1,11,11,11,-1,1,1,1,-1,1,1,1,-1,2,2,2,-1,2,2,2,-1,0,0,0,-1,0,0,0,-1,5,5,5,-1,5,5,5,-1,3,3,3,-1,3,3,3,-1,11,11,11,-1,11,11,11,-1,3,3,3,-1,3,3,3,-1,10,10,10,-1,10,10,10,-1,7,7,7,-1,7,7,7,-1,6,6,6,-1,6,6,6,-1,1,1,1,-1,1,1,1,-1,7,7,7,-1,7,7,7,-1}).setTexCoordIndex(new int[] {92,93,94,-1,92,94,95,-1,80,81,82,-1,80,82,83,-1,100,101,102,-1,100,102,103,-1,72,73,74,-1,72,74,75,-1,108,109,110,-1,108,110,111,-1,68,69,70,-1,68,70,71,-1,64,65,66,-1,64,66,67,-1,60,61,62,-1,60,62,63,-1,56,57,58,-1,56,58,59,-1,52,53,54,-1,52,54,55,-1,48,49,50,-1,48,50,51,-1,44,45,46,-1,44,46,47,-1,112,113,114,-1,112,114,115,-1,84,85,86,-1,84,86,87,-1,104,105,106,-1,104,106,107,-1,76,77,78,-1,76,78,79,-1,96,97,98,-1,96,98,99,-1,88,89,90,-1,88,90,91,-1})
                  .setCoord(new Coordinate("Line22-COORD").setPoint(new MFVec3f(new double[] {-9.173,-.00104,.9208,-9.173,-.00104,.6543,-10.28,-.00104,-.4576,-11.56,-.00104,-.4576,-12.67,-.00104,.6543,-12.67,-.00104,.9384,-11.0,-.00104,.9384,-11.0,-.00104,1.772,-8.533,-.00104,2.687,-7.492,-.00104,2.687,-5.025,-.00104,1.772,-5.025,-.00104,.9384,-3.328,-.00104,.9384,-3.328,-.00104,.6685,-4.411,-.00104,-.4576,-5.738,-.00104,-.4576,-6.821,-.00104,.6685,-6.821,-.00104,.9208,-9.173,-.7423,.9208,-9.173,-.7423,.6543,-10.28,-.7423,-.4576,-11.56,-.7423,-.4576,-12.67,-.7423,.6543,-12.67,-.7423,.9384,-11.0,-.7423,.9384,-11.0,-.7423,1.772,-8.533,-.7423,2.687,-7.492,-.7423,2.687,-5.025,-.7423,1.772,-5.025,-.7423,.9384,-3.328,-.7423,.9384,-3.328,-.7423,.6685,-4.411,-.7423,-.4576,-5.738,-.7423,-.4576,-6.821,-.7423,.6685,-6.821,-.7423,.9208})))
                  .setTexCoord(new TextureCoordinate("Line22-TEXCOORD").setPoint(new MFVec2f(/*0.invocation*/)))
                  .setNormal(new Normal().setUSE("DefIndian42"))))
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian43"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {10,17,11,-1,9,17,10,-1,9,0,17,-1,8,0,9,-1,7,0,8,-1,6,0,7,-1,28,29,35,-1,27,28,35,-1,27,35,18,-1,26,27,18,-1,25,26,18,-1,24,25,18,-1}).setNormalIndex(new int[] {8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {10,17,11,-1,9,17,10,-1,9,0,17,-1,8,0,9,-1,7,0,8,-1,6,0,7,-1,28,29,35,-1,27,28,35,-1,27,35,18,-1,26,27,18,-1,25,26,18,-1,24,25,18,-1})
                  .setCoord(new Coordinate().setUSE("Line22-COORD"))
                  .setTexCoord(new TextureCoordinate().setUSE("Line22-TEXCOORD"))
                  .setNormal(new Normal().setUSE("DefIndian42"))))
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian44"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {11,13,12,-1,11,14,13,-1,11,15,14,-1,4,6,5,-1,3,6,4,-1,2,6,3,-1,11,16,15,-1,11,17,16,-1,2,0,6,-1,1,0,2,-1,29,30,31,-1,29,31,32,-1,29,32,33,-1,22,23,24,-1,21,22,24,-1,20,21,24,-1,29,33,34,-1,29,34,35,-1,20,24,18,-1,19,20,18,-1}).setNormalIndex(new int[] {8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {11,13,12,-1,11,14,13,-1,11,15,14,-1,4,6,5,-1,3,6,4,-1,2,6,3,-1,11,16,15,-1,11,17,16,-1,2,0,6,-1,1,0,2,-1,29,30,31,-1,29,31,32,-1,29,32,33,-1,22,23,24,-1,21,22,24,-1,20,21,24,-1,29,33,34,-1,29,34,35,-1,20,24,18,-1,19,20,18,-1})
                  .setCoord(new Coordinate().setUSE("Line22-COORD"))
                  .setTexCoord(new TextureCoordinate().setUSE("Line22-TEXCOORD"))
                  .setNormal(new Normal().setUSE("DefIndian42")))))
            .addChild(new Transform("Object1705").setRotation(-1.0,0.0,0.0,-3.142).setScale(.3516,.4069,.3516).setTranslation(.3974,-.1736,.9948)
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian31"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {0,1,7,-1,0,7,6,-1,1,2,8,-1,1,8,7,-1,2,3,9,-1,2,9,8,-1,3,4,10,-1,3,10,9,-1,4,5,11,-1,4,11,10,-1,5,0,6,-1,5,6,11,-1}).setNormalIndex(new int[] {3,3,3,-1,3,3,3,-1,0,0,0,-1,0,0,0,-1,4,4,4,-1,4,4,4,-1,1,1,1,-1,1,1,1,-1,6,6,6,-1,6,6,6,-1,5,5,5,-1,5,5,5,-1}).setTexCoordIndex(new int[] {24,25,26,-1,24,26,27,-1,28,29,30,-1,28,30,31,-1,12,13,14,-1,12,14,15,-1,32,33,34,-1,32,34,35,-1,20,21,22,-1,20,22,23,-1,16,17,18,-1,16,18,19,-1})
                  .setCoord(new Coordinate("Object1705-COORD").setPoint(new MFVec3f(new double[] {-1.479,0.0,-.4576,-2.594,0.0,.6525,-2.594,0.0,.9353,.8995,0.0,.9284,.8995,0.0,.6525,-.2148,0.0,-.4576,-1.479,-.74,-.4576,-2.594,-.74,.6525,-2.594,-.74,.9353,.8995,-.74,.9284,.8995,-.74,.6525,-.2148,-.74,-.4576})))
                  .setTexCoord(new TextureCoordinate("Object1705-TEXCOORD").setPoint(new MFVec2f(new double[] {.681,0.0,1.0,.797,1.0,1.0,.001,.995,0.0,.797,.319,0.0,.681,0.0,1.0,.797,1.0,1.0,.001,.995,0.0,.797,.319,0.0,0.0,1.0,0.0,.001,1.0,.001,1.0,1.0,1.0,-.063,1.0,.452,0.0,.452,.001,-.063,0.0,1.0,0.0,0.0,1.0,0.0,1.0,1.0,1.0,.012,.948,1.0,0.0,.988,.052,0.0,0.0,.184,0.0,.315,1.0,.315,1.0,.184,0.0,.311,0.0,.184,1.0,.184,1.0,.311})))
                  .setNormal(new Normal("DefIndian47").setVector(new MFVec3f(new double[] {1.0,0.0,0.0,-1.0,0.0,0.0,0.0,1.0,0.0,.7057,0.0,.7084,-.0019,0.0,-.9999,0.0,0.0,1.0,-.7057,0.0,.7084,0.0,-1.0,0.0})))))
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian44"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {2,4,3,-1,2,5,4,-1,2,0,5,-1,2,1,0,-1,8,9,10,-1,8,10,11,-1,8,11,6,-1,8,6,7,-1}).setNormalIndex(new int[] {7,7,7,-1,7,7,7,-1,7,7,7,-1,7,7,7,-1,2,2,2,-1,2,2,2,-1,2,2,2,-1,2,2,2,-1}).setTexCoordIndex(new int[] {2,4,3,-1,2,5,4,-1,2,0,5,-1,2,1,0,-1,8,9,10,-1,8,10,11,-1,8,11,6,-1,8,6,7,-1})
                  .setCoord(new Coordinate().setUSE("Object1705-COORD"))
                  .setTexCoord(new TextureCoordinate().setUSE("Object1705-TEXCOORD"))
                  .setNormal(new Normal().setUSE("DefIndian47"))))))
          .addChild(new Transform("Group50").setRotation(0.0,-.707,.707,-3.142).setScale(.8684,.8684,.8684).setTranslation(5.314,.00024,-.05281)
            .addChild(new Transform("Group49").setScale(.8447,.8447,.8447).setTranslation(-3.058,-.01319,.6125)
              .addChild(new Transform("Rectangle115").setScale(1.363,1.363,1.363).setTranslation(-1.697,-.00003,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle116").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(-.7128,-.00008,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle117").setScale(1.363,1.363,1.363).setTranslation(.7312,-.00001,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle118").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(1.715,-.00006,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle119").setScale(1.363,1.363,1.363).setTranslation(3.251,0.0,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle120").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(4.235,-.00004,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle121").setScale(1.363,1.363,1.363).setTranslation(5.526,.00003,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle122").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(6.51,0.0,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle123").setScale(1.363,1.363,1.363).setTranslation(7.974,-.00009,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle124").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(8.958,.00002,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Line26").setRotation(-1.0,0.0,0.0,-3.142).setScale(.4187,.4187,.4187).setTranslation(3.353,-.1658,.4491)
                .addChild(new Shape()
                  .setAppearance(new Appearance().setUSE("DefIndian31"))
                  .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {0,1,19,-1,0,19,18,-1,1,2,20,-1,1,20,19,-1,2,3,21,-1,2,21,20,-1,3,4,22,-1,3,22,21,-1,4,5,23,-1,4,23,22,-1,5,6,24,-1,5,24,23,-1,6,7,25,-1,6,25,24,-1,7,8,26,-1,7,26,25,-1,8,9,27,-1,8,27,26,-1,9,10,28,-1,9,28,27,-1,10,11,29,-1,10,29,28,-1,11,12,30,-1,11,30,29,-1,12,13,31,-1,12,31,30,-1,13,14,32,-1,13,32,31,-1,14,15,33,-1,14,33,32,-1,15,16,34,-1,15,34,33,-1,16,17,35,-1,16,35,34,-1,17,0,18,-1,17,18,35,-1}).setNormalIndex(new int[] {3,3,3,-1,3,3,3,-1,12,12,12,-1,12,12,12,-1,7,7,7,-1,7,7,7,-1,9,9,9,-1,9,9,9,-1,1,1,1,-1,1,1,1,-1,11,11,11,-1,11,11,11,-1,1,1,1,-1,1,1,1,-1,2,2,2,-1,2,2,2,-1,0,0,0,-1,0,0,0,-1,5,5,5,-1,5,5,5,-1,3,3,3,-1,3,3,3,-1,11,11,11,-1,11,11,11,-1,3,3,3,-1,3,3,3,-1,10,10,10,-1,10,10,10,-1,7,7,7,-1,7,7,7,-1,6,6,6,-1,6,6,6,-1,1,1,1,-1,1,1,1,-1,7,7,7,-1,7,7,7,-1}).setTexCoordIndex(new int[] {92,93,94,-1,92,94,95,-1,80,81,82,-1,80,82,83,-1,100,101,102,-1,100,102,103,-1,72,73,74,-1,72,74,75,-1,108,109,110,-1,108,110,111,-1,68,69,70,-1,68,70,71,-1,64,65,66,-1,64,66,67,-1,60,61,62,-1,60,62,63,-1,56,57,58,-1,56,58,59,-1,52,53,54,-1,52,54,55,-1,48,49,50,-1,48,50,51,-1,44,45,46,-1,44,46,47,-1,112,113,114,-1,112,114,115,-1,84,85,86,-1,84,86,87,-1,104,105,106,-1,104,106,107,-1,76,77,78,-1,76,78,79,-1,96,97,98,-1,96,98,99,-1,88,89,90,-1,88,90,91,-1})
                    .setCoord(new Coordinate("Line26-COORD").setPoint(new MFVec3f(new double[] {-9.173,-.00104,.9208,-9.173,-.00104,.6543,-10.28,-.00104,-.4576,-11.56,-.00104,-.4576,-12.67,-.00104,.6543,-12.67,-.00104,.9384,-11.0,-.00104,.9384,-11.0,-.00104,1.772,-8.533,-.00104,2.687,-7.492,-.00104,2.687,-5.025,-.00104,1.772,-5.025,-.00104,.9384,-3.328,-.00104,.9384,-3.328,-.00104,.6685,-4.411,-.00104,-.4576,-5.738,-.00104,-.4576,-6.821,-.00104,.6685,-6.821,-.00104,.9208,-9.173,-.7423,.9208,-9.173,-.7423,.6543,-10.28,-.7423,-.4576,-11.56,-.7423,-.4576,-12.67,-.7423,.6543,-12.67,-.7423,.9384,-11.0,-.7423,.9384,-11.0,-.7423,1.772,-8.533,-.7423,2.687,-7.492,-.7423,2.687,-5.025,-.7423,1.772,-5.025,-.7423,.9384,-3.328,-.7423,.9384,-3.328,-.7423,.6685,-4.411,-.7423,-.4576,-5.738,-.7423,-.4576,-6.821,-.7423,.6685,-6.821,-.7423,.9208})))
                    .setTexCoord(new TextureCoordinate("Line26-TEXCOORD").setPoint(new MFVec2f(/*0.invocation*/)))
                    .setNormal(new Normal().setUSE("DefIndian42"))))
                .addChild(new Shape()
                  .setAppearance(new Appearance().setUSE("DefIndian43"))
                  .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {10,17,11,-1,9,17,10,-1,9,0,17,-1,8,0,9,-1,7,0,8,-1,6,0,7,-1,28,29,35,-1,27,28,35,-1,27,35,18,-1,26,27,18,-1,25,26,18,-1,24,25,18,-1}).setNormalIndex(new int[] {8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {10,17,11,-1,9,17,10,-1,9,0,17,-1,8,0,9,-1,7,0,8,-1,6,0,7,-1,28,29,35,-1,27,28,35,-1,27,35,18,-1,26,27,18,-1,25,26,18,-1,24,25,18,-1})
                    .setCoord(new Coordinate().setUSE("Line26-COORD"))
                    .setTexCoord(new TextureCoordinate().setUSE("Line26-TEXCOORD"))
                    .setNormal(new Normal().setUSE("DefIndian42"))))
                .addChild(new Shape()
                  .setAppearance(new Appearance().setUSE("DefIndian44"))
                  .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {11,13,12,-1,11,14,13,-1,11,15,14,-1,4,6,5,-1,3,6,4,-1,2,6,3,-1,11,16,15,-1,11,17,16,-1,2,0,6,-1,1,0,2,-1,29,30,31,-1,29,31,32,-1,29,32,33,-1,22,23,24,-1,21,22,24,-1,20,21,24,-1,29,33,34,-1,29,34,35,-1,20,24,18,-1,19,20,18,-1}).setNormalIndex(new int[] {8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {11,13,12,-1,11,14,13,-1,11,15,14,-1,4,6,5,-1,3,6,4,-1,2,6,3,-1,11,16,15,-1,11,17,16,-1,2,0,6,-1,1,0,2,-1,29,30,31,-1,29,31,32,-1,29,32,33,-1,22,23,24,-1,21,22,24,-1,20,21,24,-1,29,33,34,-1,29,34,35,-1,20,24,18,-1,19,20,18,-1})
                    .setCoord(new Coordinate().setUSE("Line26-COORD"))
                    .setTexCoord(new TextureCoordinate().setUSE("Line26-TEXCOORD"))
                    .setNormal(new Normal().setUSE("DefIndian42"))))))
            .addChild(new Transform("Line27").setScale(.661,.661,.661).setTranslation(-1.594,-.3304,-1.043)
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian40"))
                .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {2,4,3,-1,1,4,2,-1,0,4,1,-1,11,4,0,-1,9,11,10,-1,8,11,9,-1,8,4,11,-1,7,4,8,-1,6,4,7,-1,6,5,4,-1,14,15,16,-1,13,14,16,-1,12,13,16,-1,23,12,16,-1,21,22,23,-1,20,21,23,-1,20,23,16,-1,19,20,16,-1,18,19,16,-1,18,16,17,-1}).setNormalIndex(new int[] {11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1}).setTexCoordIndex(new int[] {42,44,43,-1,41,44,42,-1,40,44,41,-1,51,44,40,-1,49,51,50,-1,48,51,49,-1,48,44,51,-1,47,44,48,-1,46,44,47,-1,46,45,44,-1,54,55,56,-1,53,54,56,-1,52,53,56,-1,63,52,56,-1,61,62,63,-1,60,61,63,-1,60,63,56,-1,59,60,56,-1,58,59,56,-1,58,56,57,-1})
                  .setCoord(new Coordinate("Line27-COORD").setPoint(new MFVec3f(new double[] {6.265,0.0,-.2153,2.294,0.0,-.203,-3.134,0.0,1.009,-3.134,0.0,1.71,3.226,0.0,1.668,2.39,0.0,1.939,2.39,0.0,2.586,3.638,0.0,2.588,6.621,0.0,1.64,7.62,0.0,1.64,7.62,0.0,.7387,6.266,0.0,.7387,6.265,1.0,-.2153,2.294,1.0,-.203,-3.134,1.0,1.009,-3.134,1.0,1.71,3.226,1.0,1.668,2.39,1.0,1.939,2.39,1.0,2.586,3.638,1.0,2.588,6.621,1.0,1.64,7.62,1.0,1.64,7.62,1.0,.7387,6.266,1.0,.7387})))
                  .setTexCoord(new TextureCoordinate("Line27-TEXCOORD").setPoint(new MFVec2f(new double[] {1.0,1.011,1.0,-.011,.001,-.011,0.0,1.011,0.0,.26,0.0,.74,1.0,.74,1.0,.26,0.0,.593,0.0,.893,1.0,.893,1.0,.593,-.388,.343,-.388,.657,.611,.657,.611,.343,1.0,.655,1.0,.345,0.0,.345,0.0,.655,0.0,.348,0.0,.014,1.0,.014,1.0,.348,0.0,.144,0.0,-.211,1.0,-.211,1.0,.144,.358,1.0,0.0,.014,.642,0.0,1.0,.986,0.0,.776,0.0,.224,1.0,.224,1.0,.776,1.0,0.0,1.0,1.0,0.0,1.0,0.0,0.0,.874,.999,.505,.994,0.0,.563,0.0,.327,.591,.328,.514,.232,.514,.001,.629,0.0,.907,.391,1.0,.391,1.0,.659,.874,.659,.874,.999,.505,.994,0.0,.563,0.0,.327,.591,.328,.514,.232,.514,.001,.629,0.0,.907,.391,1.0,.391,1.0,.659,.874,.659,1.0,.226,1.0,.774,0.0,.774,0.0,.226})))
                  .setNormal(new Normal().setUSE("DefIndian41"))))
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian31"))
                .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {1,2,14,-1,1,14,13,-1,2,3,15,-1,2,15,14,-1,3,4,16,-1,3,16,15,-1,4,5,17,-1,4,17,16,-1,5,6,18,-1,5,18,17,-1,6,7,19,-1,6,19,18,-1,7,8,20,-1,7,20,19,-1,8,9,21,-1,8,21,20,-1,9,10,22,-1,9,22,21,-1,10,11,23,-1,10,23,22,-1,11,0,12,-1,11,12,23,-1}).setNormalIndex(new int[] {10,10,10,-1,10,10,10,-1,4,4,4,-1,4,4,4,-1,7,3,3,-1,7,3,7,-1,3,2,1,-1,3,1,3,-1,8,8,8,-1,8,8,8,-1,6,6,6,-1,6,6,6,-1,12,12,12,-1,12,12,12,-1,9,9,9,-1,9,9,9,-1,0,0,0,-1,0,0,0,-1,14,14,14,-1,14,14,14,-1,13,13,13,-1,13,13,13,-1}).setTexCoordIndex(new int[] {1,2,14,-1,1,14,13,-1,2,3,15,-1,2,15,14,-1,3,4,16,-1,3,16,15,-1,4,5,17,-1,4,17,16,-1,5,6,18,-1,5,18,17,-1,6,7,19,-1,6,19,18,-1,7,8,20,-1,7,20,19,-1,8,9,21,-1,8,21,20,-1,9,10,22,-1,9,22,21,-1,10,11,23,-1,10,23,22,-1,11,0,12,-1,11,12,23,-1})
                  .setCoord(new Coordinate().setUSE("Line27-COORD"))
                  .setTexCoord(new TextureCoordinate().setUSE("Line27-TEXCOORD"))
                  .setNormal(new Normal().setUSE("DefIndian41")))))
            .addChild(new Transform("Line28").setRotation(-1.0,0.0,0.0,-3.142).setScale(.3537,.3537,.3537).setTranslation(5.891,-.1532,.9919)
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian31"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {0,1,19,-1,0,19,18,-1,1,2,20,-1,1,20,19,-1,2,3,21,-1,2,21,20,-1,3,4,22,-1,3,22,21,-1,4,5,23,-1,4,23,22,-1,5,6,24,-1,5,24,23,-1,6,7,25,-1,6,25,24,-1,7,8,26,-1,7,26,25,-1,8,9,27,-1,8,27,26,-1,9,10,28,-1,9,28,27,-1,10,11,29,-1,10,29,28,-1,11,12,30,-1,11,30,29,-1,12,13,31,-1,12,31,30,-1,13,14,32,-1,13,32,31,-1,14,15,33,-1,14,33,32,-1,15,16,34,-1,15,34,33,-1,16,17,35,-1,16,35,34,-1,17,0,18,-1,17,18,35,-1}).setNormalIndex(new int[] {3,3,3,-1,3,3,3,-1,12,12,12,-1,12,12,12,-1,7,7,7,-1,7,7,7,-1,9,9,9,-1,9,9,9,-1,1,1,1,-1,1,1,1,-1,11,11,11,-1,11,11,11,-1,1,1,1,-1,1,1,1,-1,2,2,2,-1,2,2,2,-1,0,0,0,-1,0,0,0,-1,5,5,5,-1,5,5,5,-1,3,3,3,-1,3,3,3,-1,11,11,11,-1,11,11,11,-1,3,3,3,-1,3,3,3,-1,10,10,10,-1,10,10,10,-1,7,7,7,-1,7,7,7,-1,6,6,6,-1,6,6,6,-1,1,1,1,-1,1,1,1,-1,7,7,7,-1,7,7,7,-1}).setTexCoordIndex(new int[] {92,93,94,-1,92,94,95,-1,80,81,82,-1,80,82,83,-1,100,101,102,-1,100,102,103,-1,72,73,74,-1,72,74,75,-1,108,109,110,-1,108,110,111,-1,68,69,70,-1,68,70,71,-1,64,65,66,-1,64,66,67,-1,60,61,62,-1,60,62,63,-1,56,57,58,-1,56,58,59,-1,52,53,54,-1,52,54,55,-1,48,49,50,-1,48,50,51,-1,44,45,46,-1,44,46,47,-1,112,113,114,-1,112,114,115,-1,84,85,86,-1,84,86,87,-1,104,105,106,-1,104,106,107,-1,76,77,78,-1,76,78,79,-1,96,97,98,-1,96,98,99,-1,88,89,90,-1,88,90,91,-1})
                  .setCoord(new Coordinate("Line28-COORD").setPoint(new MFVec3f(new double[] {-9.173,-.00104,.9208,-9.173,-.00104,.6543,-10.28,-.00104,-.4576,-11.56,-.00104,-.4576,-12.67,-.00104,.6543,-12.67,-.00104,.9384,-11.0,-.00104,.9384,-11.0,-.00104,1.772,-8.533,-.00104,2.687,-7.492,-.00104,2.687,-5.025,-.00104,1.772,-5.025,-.00104,.9384,-3.328,-.00104,.9384,-3.328,-.00104,.6685,-4.411,-.00104,-.4576,-5.738,-.00104,-.4576,-6.821,-.00104,.6685,-6.821,-.00104,.9208,-9.173,-.7423,.9208,-9.173,-.7423,.6543,-10.28,-.7423,-.4576,-11.56,-.7423,-.4576,-12.67,-.7423,.6543,-12.67,-.7423,.9384,-11.0,-.7423,.9384,-11.0,-.7423,1.772,-8.533,-.7423,2.687,-7.492,-.7423,2.687,-5.025,-.7423,1.772,-5.025,-.7423,.9384,-3.328,-.7423,.9384,-3.328,-.7423,.6685,-4.411,-.7423,-.4576,-5.738,-.7423,-.4576,-6.821,-.7423,.6685,-6.821,-.7423,.9208})))
                  .setTexCoord(new TextureCoordinate("Line28-TEXCOORD").setPoint(new MFVec2f(/*0.invocation*/)))
                  .setNormal(new Normal().setUSE("DefIndian42"))))
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian43"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {10,17,11,-1,9,17,10,-1,9,0,17,-1,8,0,9,-1,7,0,8,-1,6,0,7,-1,28,29,35,-1,27,28,35,-1,27,35,18,-1,26,27,18,-1,25,26,18,-1,24,25,18,-1}).setNormalIndex(new int[] {8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {10,17,11,-1,9,17,10,-1,9,0,17,-1,8,0,9,-1,7,0,8,-1,6,0,7,-1,28,29,35,-1,27,28,35,-1,27,35,18,-1,26,27,18,-1,25,26,18,-1,24,25,18,-1})
                  .setCoord(new Coordinate().setUSE("Line28-COORD"))
                  .setTexCoord(new TextureCoordinate().setUSE("Line28-TEXCOORD"))
                  .setNormal(new Normal().setUSE("DefIndian42"))))
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian44"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {11,13,12,-1,11,14,13,-1,11,15,14,-1,4,6,5,-1,3,6,4,-1,2,6,3,-1,11,16,15,-1,11,17,16,-1,2,0,6,-1,1,0,2,-1,29,30,31,-1,29,31,32,-1,29,32,33,-1,22,23,24,-1,21,22,24,-1,20,21,24,-1,29,33,34,-1,29,34,35,-1,20,24,18,-1,19,20,18,-1}).setNormalIndex(new int[] {8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {11,13,12,-1,11,14,13,-1,11,15,14,-1,4,6,5,-1,3,6,4,-1,2,6,3,-1,11,16,15,-1,11,17,16,-1,2,0,6,-1,1,0,2,-1,29,30,31,-1,29,31,32,-1,29,32,33,-1,22,23,24,-1,21,22,24,-1,20,21,24,-1,29,33,34,-1,29,34,35,-1,20,24,18,-1,19,20,18,-1})
                  .setCoord(new Coordinate().setUSE("Line28-COORD"))
                  .setTexCoord(new TextureCoordinate().setUSE("Line28-TEXCOORD"))
                  .setNormal(new Normal().setUSE("DefIndian42")))))
            .addChild(new Transform("Object1707").setRotation(-1.0,0.0,0.0,-3.142).setScale(.3516,.4069,.3516).setTranslation(.3975,-.1736,.9948)
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian31"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {0,1,7,-1,0,7,6,-1,1,2,8,-1,1,8,7,-1,2,3,9,-1,2,9,8,-1,3,4,10,-1,3,10,9,-1,4,5,11,-1,4,11,10,-1,5,0,6,-1,5,6,11,-1}).setNormalIndex(new int[] {3,3,3,-1,3,3,3,-1,0,0,0,-1,0,0,0,-1,4,4,4,-1,4,4,4,-1,1,1,1,-1,1,1,1,-1,6,6,6,-1,6,6,6,-1,5,5,5,-1,5,5,5,-1}).setTexCoordIndex(new int[] {24,25,26,-1,24,26,27,-1,28,29,30,-1,28,30,31,-1,12,13,14,-1,12,14,15,-1,32,33,34,-1,32,34,35,-1,20,21,22,-1,20,22,23,-1,16,17,18,-1,16,18,19,-1})
                  .setCoord(new Coordinate("Object1707-COORD").setPoint(new MFVec3f(new double[] {-1.479,0.0,-.4576,-2.594,0.0,.6525,-2.594,0.0,.9353,.8995,0.0,.9284,.8995,0.0,.6525,-.2148,0.0,-.4576,-1.479,-.74,-.4576,-2.594,-.74,.6525,-2.594,-.74,.9353,.8995,-.74,.9284,.8995,-.74,.6525,-.2148,-.74,-.4576})))
                  .setTexCoord(new TextureCoordinate("Object1707-TEXCOORD").setPoint(new MFVec2f(new double[] {.681,0.0,1.0,.797,1.0,1.0,.001,.995,0.0,.797,.319,0.0,.681,0.0,1.0,.797,1.0,1.0,.001,.995,0.0,.797,.319,0.0,0.0,1.0,0.0,.001,1.0,.001,1.0,1.0,1.0,-.063,1.0,.452,0.0,.452,.001,-.063,0.0,1.0,0.0,0.0,1.0,0.0,1.0,1.0,1.0,.012,.948,1.0,0.0,.988,.052,0.0,0.0,.184,0.0,.315,1.0,.315,1.0,.184,0.0,.311,0.0,.184,1.0,.184,1.0,.311})))
                  .setNormal(new Normal().setUSE("DefIndian47"))))
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian44"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {2,4,3,-1,2,5,4,-1,2,0,5,-1,2,1,0,-1,8,9,10,-1,8,10,11,-1,8,11,6,-1,8,6,7,-1}).setNormalIndex(new int[] {7,7,7,-1,7,7,7,-1,7,7,7,-1,7,7,7,-1,2,2,2,-1,2,2,2,-1,2,2,2,-1,2,2,2,-1}).setTexCoordIndex(new int[] {2,4,3,-1,2,5,4,-1,2,0,5,-1,2,1,0,-1,8,9,10,-1,8,10,11,-1,8,11,6,-1,8,6,7,-1})
                  .setCoord(new Coordinate().setUSE("Object1707-COORD"))
                  .setTexCoord(new TextureCoordinate().setUSE("Object1707-TEXCOORD"))
                  .setNormal(new Normal().setUSE("DefIndian47")))))))
        .addChild(new Transform("Group51").setTranslation(-.00002,-37.23,3.501)
          .addChild(new Transform("Box33").setRotation(-1.0,0.0,0.0,-1.571).setScale(.8684,.8684,.8684).setTranslation(.05561,.3765,-.4613)
            .addChild(new Shape()
              .setAppearance(new Appearance().setUSE("DefIndian39"))
              .setGeometry(new IndexedFaceSet().setUSE("Box32-FACES"))))
          .addChild(new Transform("Group52").setRotation(-1.0,0.0,0.0,-1.571).setScale(.8684,.8684,.8684).setTranslation(-5.341,.00024,-.05276)
            .addChild(new Transform("Line29").setScale(.661,.661,.661).setTranslation(-1.594,-.3305,-1.043)
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian40"))
                .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {2,4,3,-1,1,4,2,-1,0,4,1,-1,11,4,0,-1,9,11,10,-1,8,11,9,-1,8,4,11,-1,7,4,8,-1,6,4,7,-1,6,5,4,-1,14,15,16,-1,13,14,16,-1,12,13,16,-1,23,12,16,-1,21,22,23,-1,20,21,23,-1,20,23,16,-1,19,20,16,-1,18,19,16,-1,18,16,17,-1}).setNormalIndex(new int[] {11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1}).setTexCoordIndex(new int[] {42,44,43,-1,41,44,42,-1,40,44,41,-1,51,44,40,-1,49,51,50,-1,48,51,49,-1,48,44,51,-1,47,44,48,-1,46,44,47,-1,46,45,44,-1,54,55,56,-1,53,54,56,-1,52,53,56,-1,63,52,56,-1,61,62,63,-1,60,61,63,-1,60,63,56,-1,59,60,56,-1,58,59,56,-1,58,56,57,-1})
                  .setCoord(new Coordinate("Line29-COORD").setPoint(new MFVec3f(new double[] {6.265,0.0,-.2153,2.294,0.0,-.203,-3.134,0.0,1.009,-3.134,0.0,1.71,3.226,0.0,1.668,2.39,0.0,1.939,2.39,0.0,2.586,3.638,0.0,2.588,6.621,0.0,1.64,7.62,0.0,1.64,7.62,0.0,.7387,6.266,0.0,.7387,6.265,1.0,-.2153,2.294,1.0,-.203,-3.134,1.0,1.009,-3.134,1.0,1.71,3.226,1.0,1.668,2.39,1.0,1.939,2.39,1.0,2.586,3.638,1.0,2.588,6.621,1.0,1.64,7.62,1.0,1.64,7.62,1.0,.7387,6.266,1.0,.7387})))
                  .setTexCoord(new TextureCoordinate("Line29-TEXCOORD").setPoint(new MFVec2f(new double[] {1.0,1.011,1.0,-.011,.001,-.011,0.0,1.011,0.0,.26,0.0,.74,1.0,.74,1.0,.26,0.0,.593,0.0,.893,1.0,.893,1.0,.593,-.388,.343,-.388,.657,.611,.657,.611,.343,1.0,.655,1.0,.345,0.0,.345,0.0,.655,0.0,.348,0.0,.014,1.0,.014,1.0,.348,0.0,.144,0.0,-.211,1.0,-.211,1.0,.144,.358,1.0,0.0,.014,.642,0.0,1.0,.986,0.0,.776,0.0,.224,1.0,.224,1.0,.776,1.0,0.0,1.0,1.0,0.0,1.0,0.0,0.0,.874,.999,.505,.994,0.0,.563,0.0,.327,.591,.328,.514,.232,.514,.001,.629,0.0,.907,.391,1.0,.391,1.0,.659,.874,.659,.874,.999,.505,.994,0.0,.563,0.0,.327,.591,.328,.514,.232,.514,.001,.629,0.0,.907,.391,1.0,.391,1.0,.659,.874,.659,1.0,.226,1.0,.774,0.0,.774,0.0,.226})))
                  .setNormal(new Normal().setUSE("DefIndian41"))))
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian31"))
                .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {1,2,14,-1,1,14,13,-1,2,3,15,-1,2,15,14,-1,3,4,16,-1,3,16,15,-1,4,5,17,-1,4,17,16,-1,5,6,18,-1,5,18,17,-1,6,7,19,-1,6,19,18,-1,7,8,20,-1,7,20,19,-1,8,9,21,-1,8,21,20,-1,9,10,22,-1,9,22,21,-1,10,11,23,-1,10,23,22,-1,11,0,12,-1,11,12,23,-1}).setNormalIndex(new int[] {10,10,10,-1,10,10,10,-1,4,4,4,-1,4,4,4,-1,7,3,3,-1,7,3,7,-1,3,2,1,-1,3,1,3,-1,8,8,8,-1,8,8,8,-1,6,6,6,-1,6,6,6,-1,12,12,12,-1,12,12,12,-1,9,9,9,-1,9,9,9,-1,0,0,0,-1,0,0,0,-1,14,14,14,-1,14,14,14,-1,13,13,13,-1,13,13,13,-1}).setTexCoordIndex(new int[] {1,2,14,-1,1,14,13,-1,2,3,15,-1,2,15,14,-1,3,4,16,-1,3,16,15,-1,4,5,17,-1,4,17,16,-1,5,6,18,-1,5,18,17,-1,6,7,19,-1,6,19,18,-1,7,8,20,-1,7,20,19,-1,8,9,21,-1,8,21,20,-1,9,10,22,-1,9,22,21,-1,10,11,23,-1,10,23,22,-1,11,0,12,-1,11,12,23,-1})
                  .setCoord(new Coordinate().setUSE("Line29-COORD"))
                  .setTexCoord(new TextureCoordinate().setUSE("Line29-TEXCOORD"))
                  .setNormal(new Normal().setUSE("DefIndian41")))))
            .addChild(new Transform("Group54").setScale(.8447,.8447,.8447).setTranslation(-3.058,-.01324,.6125)
              .addChild(new Transform("Line30").setRotation(-1.0,0.0,0.0,-3.142).setScale(.4187,.4187,.4187).setTranslation(3.353,-.1657,.4491)
                .addChild(new Shape()
                  .setAppearance(new Appearance().setUSE("DefIndian31"))
                  .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {0,1,19,-1,0,19,18,-1,1,2,20,-1,1,20,19,-1,2,3,21,-1,2,21,20,-1,3,4,22,-1,3,22,21,-1,4,5,23,-1,4,23,22,-1,5,6,24,-1,5,24,23,-1,6,7,25,-1,6,25,24,-1,7,8,26,-1,7,26,25,-1,8,9,27,-1,8,27,26,-1,9,10,28,-1,9,28,27,-1,10,11,29,-1,10,29,28,-1,11,12,30,-1,11,30,29,-1,12,13,31,-1,12,31,30,-1,13,14,32,-1,13,32,31,-1,14,15,33,-1,14,33,32,-1,15,16,34,-1,15,34,33,-1,16,17,35,-1,16,35,34,-1,17,0,18,-1,17,18,35,-1}).setNormalIndex(new int[] {3,3,3,-1,3,3,3,-1,12,12,12,-1,12,12,12,-1,7,7,7,-1,7,7,7,-1,9,9,9,-1,9,9,9,-1,1,1,1,-1,1,1,1,-1,11,11,11,-1,11,11,11,-1,1,1,1,-1,1,1,1,-1,2,2,2,-1,2,2,2,-1,0,0,0,-1,0,0,0,-1,5,5,5,-1,5,5,5,-1,3,3,3,-1,3,3,3,-1,11,11,11,-1,11,11,11,-1,3,3,3,-1,3,3,3,-1,10,10,10,-1,10,10,10,-1,7,7,7,-1,7,7,7,-1,6,6,6,-1,6,6,6,-1,1,1,1,-1,1,1,1,-1,7,7,7,-1,7,7,7,-1}).setTexCoordIndex(new int[] {92,93,94,-1,92,94,95,-1,80,81,82,-1,80,82,83,-1,100,101,102,-1,100,102,103,-1,72,73,74,-1,72,74,75,-1,108,109,110,-1,108,110,111,-1,68,69,70,-1,68,70,71,-1,64,65,66,-1,64,66,67,-1,60,61,62,-1,60,62,63,-1,56,57,58,-1,56,58,59,-1,52,53,54,-1,52,54,55,-1,48,49,50,-1,48,50,51,-1,44,45,46,-1,44,46,47,-1,112,113,114,-1,112,114,115,-1,84,85,86,-1,84,86,87,-1,104,105,106,-1,104,106,107,-1,76,77,78,-1,76,78,79,-1,96,97,98,-1,96,98,99,-1,88,89,90,-1,88,90,91,-1})
                    .setCoord(new Coordinate("Line30-COORD").setPoint(new MFVec3f(new double[] {-9.173,-.00104,.9208,-9.173,-.00104,.6543,-10.28,-.00104,-.4576,-11.56,-.00104,-.4576,-12.67,-.00104,.6543,-12.67,-.00104,.9384,-11.0,-.00104,.9384,-11.0,-.00104,1.772,-8.533,-.00104,2.687,-7.492,-.00104,2.687,-5.025,-.00104,1.772,-5.025,-.00104,.9384,-3.328,-.00104,.9384,-3.328,-.00104,.6685,-4.411,-.00104,-.4576,-5.738,-.00104,-.4576,-6.821,-.00104,.6685,-6.821,-.00104,.9208,-9.173,-.7423,.9208,-9.173,-.7423,.6543,-10.28,-.7423,-.4576,-11.56,-.7423,-.4576,-12.67,-.7423,.6543,-12.67,-.7423,.9384,-11.0,-.7423,.9384,-11.0,-.7423,1.772,-8.533,-.7423,2.687,-7.492,-.7423,2.687,-5.025,-.7423,1.772,-5.025,-.7423,.9384,-3.328,-.7423,.9384,-3.328,-.7423,.6685,-4.411,-.7423,-.4576,-5.738,-.7423,-.4576,-6.821,-.7423,.6685,-6.821,-.7423,.9208})))
                    .setTexCoord(new TextureCoordinate("Line30-TEXCOORD").setPoint(new MFVec2f(/*0.invocation*/)))
                    .setNormal(new Normal().setUSE("DefIndian42"))))
                .addChild(new Shape()
                  .setAppearance(new Appearance().setUSE("DefIndian43"))
                  .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {10,17,11,-1,9,17,10,-1,9,0,17,-1,8,0,9,-1,7,0,8,-1,6,0,7,-1,28,29,35,-1,27,28,35,-1,27,35,18,-1,26,27,18,-1,25,26,18,-1,24,25,18,-1}).setNormalIndex(new int[] {8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {10,17,11,-1,9,17,10,-1,9,0,17,-1,8,0,9,-1,7,0,8,-1,6,0,7,-1,28,29,35,-1,27,28,35,-1,27,35,18,-1,26,27,18,-1,25,26,18,-1,24,25,18,-1})
                    .setCoord(new Coordinate().setUSE("Line30-COORD"))
                    .setTexCoord(new TextureCoordinate().setUSE("Line30-TEXCOORD"))
                    .setNormal(new Normal().setUSE("DefIndian42"))))
                .addChild(new Shape()
                  .setAppearance(new Appearance().setUSE("DefIndian44"))
                  .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {11,13,12,-1,11,14,13,-1,11,15,14,-1,4,6,5,-1,3,6,4,-1,2,6,3,-1,11,16,15,-1,11,17,16,-1,2,0,6,-1,1,0,2,-1,29,30,31,-1,29,31,32,-1,29,32,33,-1,22,23,24,-1,21,22,24,-1,20,21,24,-1,29,33,34,-1,29,34,35,-1,20,24,18,-1,19,20,18,-1}).setNormalIndex(new int[] {8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {11,13,12,-1,11,14,13,-1,11,15,14,-1,4,6,5,-1,3,6,4,-1,2,6,3,-1,11,16,15,-1,11,17,16,-1,2,0,6,-1,1,0,2,-1,29,30,31,-1,29,31,32,-1,29,32,33,-1,22,23,24,-1,21,22,24,-1,20,21,24,-1,29,33,34,-1,29,34,35,-1,20,24,18,-1,19,20,18,-1})
                    .setCoord(new Coordinate().setUSE("Line30-COORD"))
                    .setTexCoord(new TextureCoordinate().setUSE("Line30-TEXCOORD"))
                    .setNormal(new Normal().setUSE("DefIndian42")))))
              .addChild(new Transform("Rectangle125").setScale(1.363,1.363,1.363).setTranslation(-1.697,.00003,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle126").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(-.7127,-.00002,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle127").setScale(1.363,1.363,1.363).setTranslation(.7312,.00005,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle128").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(1.716,0.0,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle129").setScale(1.363,1.363,1.363).setTranslation(3.251,.00007,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle130").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(4.235,.00002,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle131").setScale(1.363,1.363,1.363).setTranslation(5.526,.0001,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle132").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(6.51,.00006,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle133").setScale(1.363,1.363,1.363).setTranslation(7.974,-.00002,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle134").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(8.958,.00009,.384)
                .addChild(new Shape().setUSE("DefIndian46"))))
            .addChild(new Transform("Line31").setRotation(-1.0,0.0,0.0,-3.142).setScale(.3537,.3537,.3537).setTranslation(5.891,-.1533,.9919)
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian31"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {0,1,19,-1,0,19,18,-1,1,2,20,-1,1,20,19,-1,2,3,21,-1,2,21,20,-1,3,4,22,-1,3,22,21,-1,4,5,23,-1,4,23,22,-1,5,6,24,-1,5,24,23,-1,6,7,25,-1,6,25,24,-1,7,8,26,-1,7,26,25,-1,8,9,27,-1,8,27,26,-1,9,10,28,-1,9,28,27,-1,10,11,29,-1,10,29,28,-1,11,12,30,-1,11,30,29,-1,12,13,31,-1,12,31,30,-1,13,14,32,-1,13,32,31,-1,14,15,33,-1,14,33,32,-1,15,16,34,-1,15,34,33,-1,16,17,35,-1,16,35,34,-1,17,0,18,-1,17,18,35,-1}).setNormalIndex(new int[] {3,3,3,-1,3,3,3,-1,12,12,12,-1,12,12,12,-1,7,7,7,-1,7,7,7,-1,9,9,9,-1,9,9,9,-1,1,1,1,-1,1,1,1,-1,11,11,11,-1,11,11,11,-1,1,1,1,-1,1,1,1,-1,2,2,2,-1,2,2,2,-1,0,0,0,-1,0,0,0,-1,5,5,5,-1,5,5,5,-1,3,3,3,-1,3,3,3,-1,11,11,11,-1,11,11,11,-1,3,3,3,-1,3,3,3,-1,10,10,10,-1,10,10,10,-1,7,7,7,-1,7,7,7,-1,6,6,6,-1,6,6,6,-1,1,1,1,-1,1,1,1,-1,7,7,7,-1,7,7,7,-1}).setTexCoordIndex(new int[] {92,93,94,-1,92,94,95,-1,80,81,82,-1,80,82,83,-1,100,101,102,-1,100,102,103,-1,72,73,74,-1,72,74,75,-1,108,109,110,-1,108,110,111,-1,68,69,70,-1,68,70,71,-1,64,65,66,-1,64,66,67,-1,60,61,62,-1,60,62,63,-1,56,57,58,-1,56,58,59,-1,52,53,54,-1,52,54,55,-1,48,49,50,-1,48,50,51,-1,44,45,46,-1,44,46,47,-1,112,113,114,-1,112,114,115,-1,84,85,86,-1,84,86,87,-1,104,105,106,-1,104,106,107,-1,76,77,78,-1,76,78,79,-1,96,97,98,-1,96,98,99,-1,88,89,90,-1,88,90,91,-1})
                  .setCoord(new Coordinate("Line31-COORD").setPoint(new MFVec3f(new double[] {-9.173,-.00104,.9208,-9.173,-.00104,.6543,-10.28,-.00104,-.4576,-11.56,-.00104,-.4576,-12.67,-.00104,.6543,-12.67,-.00104,.9384,-11.0,-.00104,.9384,-11.0,-.00104,1.772,-8.533,-.00104,2.687,-7.492,-.00104,2.687,-5.025,-.00104,1.772,-5.025,-.00104,.9384,-3.328,-.00104,.9384,-3.328,-.00104,.6685,-4.411,-.00104,-.4576,-5.738,-.00104,-.4576,-6.821,-.00104,.6685,-6.821,-.00104,.9208,-9.173,-.7423,.9208,-9.173,-.7423,.6543,-10.28,-.7423,-.4576,-11.56,-.7423,-.4576,-12.67,-.7423,.6543,-12.67,-.7423,.9384,-11.0,-.7423,.9384,-11.0,-.7423,1.772,-8.533,-.7423,2.687,-7.492,-.7423,2.687,-5.025,-.7423,1.772,-5.025,-.7423,.9384,-3.328,-.7423,.9384,-3.328,-.7423,.6685,-4.411,-.7423,-.4576,-5.738,-.7423,-.4576,-6.821,-.7423,.6685,-6.821,-.7423,.9208})))
                  .setTexCoord(new TextureCoordinate("Line31-TEXCOORD").setPoint(new MFVec2f(/*0.invocation*/)))
                  .setNormal(new Normal().setUSE("DefIndian42"))))
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian43"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {10,17,11,-1,9,17,10,-1,9,0,17,-1,8,0,9,-1,7,0,8,-1,6,0,7,-1,28,29,35,-1,27,28,35,-1,27,35,18,-1,26,27,18,-1,25,26,18,-1,24,25,18,-1}).setNormalIndex(new int[] {8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {10,17,11,-1,9,17,10,-1,9,0,17,-1,8,0,9,-1,7,0,8,-1,6,0,7,-1,28,29,35,-1,27,28,35,-1,27,35,18,-1,26,27,18,-1,25,26,18,-1,24,25,18,-1})
                  .setCoord(new Coordinate().setUSE("Line31-COORD"))
                  .setTexCoord(new TextureCoordinate().setUSE("Line31-TEXCOORD"))
                  .setNormal(new Normal().setUSE("DefIndian42"))))
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian44"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {11,13,12,-1,11,14,13,-1,11,15,14,-1,4,6,5,-1,3,6,4,-1,2,6,3,-1,11,16,15,-1,11,17,16,-1,2,0,6,-1,1,0,2,-1,29,30,31,-1,29,31,32,-1,29,32,33,-1,22,23,24,-1,21,22,24,-1,20,21,24,-1,29,33,34,-1,29,34,35,-1,20,24,18,-1,19,20,18,-1}).setNormalIndex(new int[] {8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {11,13,12,-1,11,14,13,-1,11,15,14,-1,4,6,5,-1,3,6,4,-1,2,6,3,-1,11,16,15,-1,11,17,16,-1,2,0,6,-1,1,0,2,-1,29,30,31,-1,29,31,32,-1,29,32,33,-1,22,23,24,-1,21,22,24,-1,20,21,24,-1,29,33,34,-1,29,34,35,-1,20,24,18,-1,19,20,18,-1})
                  .setCoord(new Coordinate().setUSE("Line31-COORD"))
                  .setTexCoord(new TextureCoordinate().setUSE("Line31-TEXCOORD"))
                  .setNormal(new Normal().setUSE("DefIndian42")))))
            .addChild(new Transform("Object1708").setRotation(-1.0,0.0,0.0,-3.142).setScale(.3516,.4069,.3516).setTranslation(.3975,-.1736,.9948)
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian31"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {0,1,7,-1,0,7,6,-1,1,2,8,-1,1,8,7,-1,2,3,9,-1,2,9,8,-1,3,4,10,-1,3,10,9,-1,4,5,11,-1,4,11,10,-1,5,0,6,-1,5,6,11,-1}).setNormalIndex(new int[] {3,3,3,-1,3,3,3,-1,0,0,0,-1,0,0,0,-1,4,4,4,-1,4,4,4,-1,1,1,1,-1,1,1,1,-1,6,6,6,-1,6,6,6,-1,5,5,5,-1,5,5,5,-1}).setTexCoordIndex(new int[] {24,25,26,-1,24,26,27,-1,28,29,30,-1,28,30,31,-1,12,13,14,-1,12,14,15,-1,32,33,34,-1,32,34,35,-1,20,21,22,-1,20,22,23,-1,16,17,18,-1,16,18,19,-1})
                  .setCoord(new Coordinate("Object1708-COORD").setPoint(new MFVec3f(new double[] {-1.479,0.0,-.4576,-2.594,0.0,.6525,-2.594,0.0,.9353,.8995,0.0,.9284,.8995,0.0,.6525,-.2148,0.0,-.4576,-1.479,-.74,-.4576,-2.594,-.74,.6525,-2.594,-.74,.9353,.8995,-.74,.9284,.8995,-.74,.6525,-.2148,-.74,-.4576})))
                  .setTexCoord(new TextureCoordinate("Object1708-TEXCOORD").setPoint(new MFVec2f(new double[] {.681,0.0,1.0,.797,1.0,1.0,.001,.995,0.0,.797,.319,0.0,.681,0.0,1.0,.797,1.0,1.0,.001,.995,0.0,.797,.319,0.0,0.0,1.0,0.0,.001,1.0,.001,1.0,1.0,1.0,-.063,1.0,.452,0.0,.452,.001,-.063,0.0,1.0,0.0,0.0,1.0,0.0,1.0,1.0,1.0,.012,.948,1.0,0.0,.988,.052,0.0,0.0,.184,0.0,.315,1.0,.315,1.0,.184,0.0,.311,0.0,.184,1.0,.184,1.0,.311})))
                  .setNormal(new Normal().setUSE("DefIndian47"))))
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian44"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {2,4,3,-1,2,5,4,-1,2,0,5,-1,2,1,0,-1,8,9,10,-1,8,10,11,-1,8,11,6,-1,8,6,7,-1}).setNormalIndex(new int[] {7,7,7,-1,7,7,7,-1,7,7,7,-1,7,7,7,-1,2,2,2,-1,2,2,2,-1,2,2,2,-1,2,2,2,-1}).setTexCoordIndex(new int[] {2,4,3,-1,2,5,4,-1,2,0,5,-1,2,1,0,-1,8,9,10,-1,8,10,11,-1,8,11,6,-1,8,6,7,-1})
                  .setCoord(new Coordinate().setUSE("Object1708-COORD"))
                  .setTexCoord(new TextureCoordinate().setUSE("Object1708-TEXCOORD"))
                  .setNormal(new Normal().setUSE("DefIndian47"))))))
          .addChild(new Transform("Group53").setRotation(0.0,-.707,.707,-3.142).setScale(.8684,.8684,.8684).setTranslation(5.314,.00024,-.05281)
            .addChild(new Transform("Group55").setScale(.8447,.8447,.8447).setTranslation(-3.059,-.01321,.6125)
              .addChild(new Transform("Rectangle135").setScale(1.363,1.363,1.363).setTranslation(-1.697,.00006,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle136").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(-.7128,.00001,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle137").setScale(1.363,1.363,1.363).setTranslation(.7312,.00008,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle138").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(1.715,.00004,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle139").setScale(1.363,1.363,1.363).setTranslation(3.251,.0001,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle140").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(4.235,.00005,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle141").setScale(1.363,1.363,1.363).setTranslation(5.526,.00013,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle142").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(6.51,.00009,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle143").setScale(1.363,1.363,1.363).setTranslation(7.974,0.0,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Rectangle144").setRotation(0.0,0.0,1.0,-3.142).setScale(1.363,1.363,1.363).setTranslation(8.958,.00012,.384)
                .addChild(new Shape().setUSE("DefIndian46")))
              .addChild(new Transform("Line32").setRotation(-1.0,0.0,0.0,-3.142).setScale(.4187,.4187,.4187).setTranslation(3.353,-.1657,.4491)
                .addChild(new Shape()
                  .setAppearance(new Appearance().setUSE("DefIndian31"))
                  .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {0,1,19,-1,0,19,18,-1,1,2,20,-1,1,20,19,-1,2,3,21,-1,2,21,20,-1,3,4,22,-1,3,22,21,-1,4,5,23,-1,4,23,22,-1,5,6,24,-1,5,24,23,-1,6,7,25,-1,6,25,24,-1,7,8,26,-1,7,26,25,-1,8,9,27,-1,8,27,26,-1,9,10,28,-1,9,28,27,-1,10,11,29,-1,10,29,28,-1,11,12,30,-1,11,30,29,-1,12,13,31,-1,12,31,30,-1,13,14,32,-1,13,32,31,-1,14,15,33,-1,14,33,32,-1,15,16,34,-1,15,34,33,-1,16,17,35,-1,16,35,34,-1,17,0,18,-1,17,18,35,-1}).setNormalIndex(new int[] {3,3,3,-1,3,3,3,-1,12,12,12,-1,12,12,12,-1,7,7,7,-1,7,7,7,-1,9,9,9,-1,9,9,9,-1,1,1,1,-1,1,1,1,-1,11,11,11,-1,11,11,11,-1,1,1,1,-1,1,1,1,-1,2,2,2,-1,2,2,2,-1,0,0,0,-1,0,0,0,-1,5,5,5,-1,5,5,5,-1,3,3,3,-1,3,3,3,-1,11,11,11,-1,11,11,11,-1,3,3,3,-1,3,3,3,-1,10,10,10,-1,10,10,10,-1,7,7,7,-1,7,7,7,-1,6,6,6,-1,6,6,6,-1,1,1,1,-1,1,1,1,-1,7,7,7,-1,7,7,7,-1}).setTexCoordIndex(new int[] {92,93,94,-1,92,94,95,-1,80,81,82,-1,80,82,83,-1,100,101,102,-1,100,102,103,-1,72,73,74,-1,72,74,75,-1,108,109,110,-1,108,110,111,-1,68,69,70,-1,68,70,71,-1,64,65,66,-1,64,66,67,-1,60,61,62,-1,60,62,63,-1,56,57,58,-1,56,58,59,-1,52,53,54,-1,52,54,55,-1,48,49,50,-1,48,50,51,-1,44,45,46,-1,44,46,47,-1,112,113,114,-1,112,114,115,-1,84,85,86,-1,84,86,87,-1,104,105,106,-1,104,106,107,-1,76,77,78,-1,76,78,79,-1,96,97,98,-1,96,98,99,-1,88,89,90,-1,88,90,91,-1})
                    .setCoord(new Coordinate("Line32-COORD").setPoint(new MFVec3f(new double[] {-9.173,-.00104,.9208,-9.173,-.00104,.6543,-10.28,-.00104,-.4576,-11.56,-.00104,-.4576,-12.67,-.00104,.6543,-12.67,-.00104,.9384,-11.0,-.00104,.9384,-11.0,-.00104,1.772,-8.533,-.00104,2.687,-7.492,-.00104,2.687,-5.025,-.00104,1.772,-5.025,-.00104,.9384,-3.328,-.00104,.9384,-3.328,-.00104,.6685,-4.411,-.00104,-.4576,-5.738,-.00104,-.4576,-6.821,-.00104,.6685,-6.821,-.00104,.9208,-9.173,-.7423,.9208,-9.173,-.7423,.6543,-10.28,-.7423,-.4576,-11.56,-.7423,-.4576,-12.67,-.7423,.6543,-12.67,-.7423,.9384,-11.0,-.7423,.9384,-11.0,-.7423,1.772,-8.533,-.7423,2.687,-7.492,-.7423,2.687,-5.025,-.7423,1.772,-5.025,-.7423,.9384,-3.328,-.7423,.9384,-3.328,-.7423,.6685,-4.411,-.7423,-.4576,-5.738,-.7423,-.4576,-6.821,-.7423,.6685,-6.821,-.7423,.9208})))
                    .setTexCoord(new TextureCoordinate("Line32-TEXCOORD").setPoint(new MFVec2f(/*0.invocation*/)))
                    .setNormal(new Normal().setUSE("DefIndian42"))))
                .addChild(new Shape()
                  .setAppearance(new Appearance().setUSE("DefIndian43"))
                  .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {10,17,11,-1,9,17,10,-1,9,0,17,-1,8,0,9,-1,7,0,8,-1,6,0,7,-1,28,29,35,-1,27,28,35,-1,27,35,18,-1,26,27,18,-1,25,26,18,-1,24,25,18,-1}).setNormalIndex(new int[] {8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {10,17,11,-1,9,17,10,-1,9,0,17,-1,8,0,9,-1,7,0,8,-1,6,0,7,-1,28,29,35,-1,27,28,35,-1,27,35,18,-1,26,27,18,-1,25,26,18,-1,24,25,18,-1})
                    .setCoord(new Coordinate().setUSE("Line32-COORD"))
                    .setTexCoord(new TextureCoordinate().setUSE("Line32-TEXCOORD"))
                    .setNormal(new Normal().setUSE("DefIndian42"))))
                .addChild(new Shape()
                  .setAppearance(new Appearance().setUSE("DefIndian44"))
                  .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {11,13,12,-1,11,14,13,-1,11,15,14,-1,4,6,5,-1,3,6,4,-1,2,6,3,-1,11,16,15,-1,11,17,16,-1,2,0,6,-1,1,0,2,-1,29,30,31,-1,29,31,32,-1,29,32,33,-1,22,23,24,-1,21,22,24,-1,20,21,24,-1,29,33,34,-1,29,34,35,-1,20,24,18,-1,19,20,18,-1}).setNormalIndex(new int[] {8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {11,13,12,-1,11,14,13,-1,11,15,14,-1,4,6,5,-1,3,6,4,-1,2,6,3,-1,11,16,15,-1,11,17,16,-1,2,0,6,-1,1,0,2,-1,29,30,31,-1,29,31,32,-1,29,32,33,-1,22,23,24,-1,21,22,24,-1,20,21,24,-1,29,33,34,-1,29,34,35,-1,20,24,18,-1,19,20,18,-1})
                    .setCoord(new Coordinate().setUSE("Line32-COORD"))
                    .setTexCoord(new TextureCoordinate().setUSE("Line32-TEXCOORD"))
                    .setNormal(new Normal().setUSE("DefIndian42"))))))
            .addChild(new Transform("Line33").setScale(.661,.661,.661).setTranslation(-1.594,-.3305,-1.043)
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian40"))
                .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {2,4,3,-1,1,4,2,-1,0,4,1,-1,11,4,0,-1,9,11,10,-1,8,11,9,-1,8,4,11,-1,7,4,8,-1,6,4,7,-1,6,5,4,-1,14,15,16,-1,13,14,16,-1,12,13,16,-1,23,12,16,-1,21,22,23,-1,20,21,23,-1,20,23,16,-1,19,20,16,-1,18,19,16,-1,18,16,17,-1}).setNormalIndex(new int[] {11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,11,11,11,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1,5,5,5,-1}).setTexCoordIndex(new int[] {42,44,43,-1,41,44,42,-1,40,44,41,-1,51,44,40,-1,49,51,50,-1,48,51,49,-1,48,44,51,-1,47,44,48,-1,46,44,47,-1,46,45,44,-1,54,55,56,-1,53,54,56,-1,52,53,56,-1,63,52,56,-1,61,62,63,-1,60,61,63,-1,60,63,56,-1,59,60,56,-1,58,59,56,-1,58,56,57,-1})
                  .setCoord(new Coordinate("Line33-COORD").setPoint(new MFVec3f(new double[] {6.265,0.0,-.2153,2.294,0.0,-.203,-3.134,0.0,1.009,-3.134,0.0,1.71,3.226,0.0,1.668,2.39,0.0,1.939,2.39,0.0,2.586,3.638,0.0,2.588,6.621,0.0,1.64,7.62,0.0,1.64,7.62,0.0,.7387,6.266,0.0,.7387,6.265,1.0,-.2153,2.294,1.0,-.203,-3.134,1.0,1.009,-3.134,1.0,1.71,3.226,1.0,1.668,2.39,1.0,1.939,2.39,1.0,2.586,3.638,1.0,2.588,6.621,1.0,1.64,7.62,1.0,1.64,7.62,1.0,.7387,6.266,1.0,.7387})))
                  .setTexCoord(new TextureCoordinate("Line33-TEXCOORD").setPoint(new MFVec2f(new double[] {1.0,1.011,1.0,-.011,.001,-.011,0.0,1.011,0.0,.26,0.0,.74,1.0,.74,1.0,.26,0.0,.593,0.0,.893,1.0,.893,1.0,.593,-.388,.343,-.388,.657,.611,.657,.611,.343,1.0,.655,1.0,.345,0.0,.345,0.0,.655,0.0,.348,0.0,.014,1.0,.014,1.0,.348,0.0,.144,0.0,-.211,1.0,-.211,1.0,.144,.358,1.0,0.0,.014,.642,0.0,1.0,.986,0.0,.776,0.0,.224,1.0,.224,1.0,.776,1.0,0.0,1.0,1.0,0.0,1.0,0.0,0.0,.874,.999,.505,.994,0.0,.563,0.0,.327,.591,.328,.514,.232,.514,.001,.629,0.0,.907,.391,1.0,.391,1.0,.659,.874,.659,.874,.999,.505,.994,0.0,.563,0.0,.327,.591,.328,.514,.232,.514,.001,.629,0.0,.907,.391,1.0,.391,1.0,.659,.874,.659,1.0,.226,1.0,.774,0.0,.774,0.0,.226})))
                  .setNormal(new Normal().setUSE("DefIndian41"))))
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian31"))
                .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {1,2,14,-1,1,14,13,-1,2,3,15,-1,2,15,14,-1,3,4,16,-1,3,16,15,-1,4,5,17,-1,4,17,16,-1,5,6,18,-1,5,18,17,-1,6,7,19,-1,6,19,18,-1,7,8,20,-1,7,20,19,-1,8,9,21,-1,8,21,20,-1,9,10,22,-1,9,22,21,-1,10,11,23,-1,10,23,22,-1,11,0,12,-1,11,12,23,-1}).setNormalIndex(new int[] {10,10,10,-1,10,10,10,-1,4,4,4,-1,4,4,4,-1,7,3,3,-1,7,3,7,-1,3,2,1,-1,3,1,3,-1,8,8,8,-1,8,8,8,-1,6,6,6,-1,6,6,6,-1,12,12,12,-1,12,12,12,-1,9,9,9,-1,9,9,9,-1,0,0,0,-1,0,0,0,-1,14,14,14,-1,14,14,14,-1,13,13,13,-1,13,13,13,-1}).setTexCoordIndex(new int[] {1,2,14,-1,1,14,13,-1,2,3,15,-1,2,15,14,-1,3,4,16,-1,3,16,15,-1,4,5,17,-1,4,17,16,-1,5,6,18,-1,5,18,17,-1,6,7,19,-1,6,19,18,-1,7,8,20,-1,7,20,19,-1,8,9,21,-1,8,21,20,-1,9,10,22,-1,9,22,21,-1,10,11,23,-1,10,23,22,-1,11,0,12,-1,11,12,23,-1})
                  .setCoord(new Coordinate().setUSE("Line33-COORD"))
                  .setTexCoord(new TextureCoordinate().setUSE("Line33-TEXCOORD"))
                  .setNormal(new Normal().setUSE("DefIndian41")))))
            .addChild(new Transform("Line34").setRotation(-1.0,0.0,0.0,-3.142).setScale(.3537,.3537,.3537).setTranslation(5.89,-.1532,.9919)
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian31"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {0,1,19,-1,0,19,18,-1,1,2,20,-1,1,20,19,-1,2,3,21,-1,2,21,20,-1,3,4,22,-1,3,22,21,-1,4,5,23,-1,4,23,22,-1,5,6,24,-1,5,24,23,-1,6,7,25,-1,6,25,24,-1,7,8,26,-1,7,26,25,-1,8,9,27,-1,8,27,26,-1,9,10,28,-1,9,28,27,-1,10,11,29,-1,10,29,28,-1,11,12,30,-1,11,30,29,-1,12,13,31,-1,12,31,30,-1,13,14,32,-1,13,32,31,-1,14,15,33,-1,14,33,32,-1,15,16,34,-1,15,34,33,-1,16,17,35,-1,16,35,34,-1,17,0,18,-1,17,18,35,-1}).setNormalIndex(new int[] {3,3,3,-1,3,3,3,-1,12,12,12,-1,12,12,12,-1,7,7,7,-1,7,7,7,-1,9,9,9,-1,9,9,9,-1,1,1,1,-1,1,1,1,-1,11,11,11,-1,11,11,11,-1,1,1,1,-1,1,1,1,-1,2,2,2,-1,2,2,2,-1,0,0,0,-1,0,0,0,-1,5,5,5,-1,5,5,5,-1,3,3,3,-1,3,3,3,-1,11,11,11,-1,11,11,11,-1,3,3,3,-1,3,3,3,-1,10,10,10,-1,10,10,10,-1,7,7,7,-1,7,7,7,-1,6,6,6,-1,6,6,6,-1,1,1,1,-1,1,1,1,-1,7,7,7,-1,7,7,7,-1}).setTexCoordIndex(new int[] {92,93,94,-1,92,94,95,-1,80,81,82,-1,80,82,83,-1,100,101,102,-1,100,102,103,-1,72,73,74,-1,72,74,75,-1,108,109,110,-1,108,110,111,-1,68,69,70,-1,68,70,71,-1,64,65,66,-1,64,66,67,-1,60,61,62,-1,60,62,63,-1,56,57,58,-1,56,58,59,-1,52,53,54,-1,52,54,55,-1,48,49,50,-1,48,50,51,-1,44,45,46,-1,44,46,47,-1,112,113,114,-1,112,114,115,-1,84,85,86,-1,84,86,87,-1,104,105,106,-1,104,106,107,-1,76,77,78,-1,76,78,79,-1,96,97,98,-1,96,98,99,-1,88,89,90,-1,88,90,91,-1})
                  .setCoord(new Coordinate("Line34-COORD").setPoint(new MFVec3f(new double[] {-9.173,-.00104,.9208,-9.173,-.00104,.6543,-10.28,-.00104,-.4576,-11.56,-.00104,-.4576,-12.67,-.00104,.6543,-12.67,-.00104,.9384,-11.0,-.00104,.9384,-11.0,-.00104,1.772,-8.533,-.00104,2.687,-7.492,-.00104,2.687,-5.025,-.00104,1.772,-5.025,-.00104,.9384,-3.328,-.00104,.9384,-3.328,-.00104,.6685,-4.411,-.00104,-.4576,-5.738,-.00104,-.4576,-6.821,-.00104,.6685,-6.821,-.00104,.9208,-9.173,-.7423,.9208,-9.173,-.7423,.6543,-10.28,-.7423,-.4576,-11.56,-.7423,-.4576,-12.67,-.7423,.6543,-12.67,-.7423,.9384,-11.0,-.7423,.9384,-11.0,-.7423,1.772,-8.533,-.7423,2.687,-7.492,-.7423,2.687,-5.025,-.7423,1.772,-5.025,-.7423,.9384,-3.328,-.7423,.9384,-3.328,-.7423,.6685,-4.411,-.7423,-.4576,-5.738,-.7423,-.4576,-6.821,-.7423,.6685,-6.821,-.7423,.9208})))
                  .setTexCoord(new TextureCoordinate("Line34-TEXCOORD").setPoint(new MFVec2f(/*0.invocation*/)))
                  .setNormal(new Normal().setUSE("DefIndian42"))))
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian43"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {10,17,11,-1,9,17,10,-1,9,0,17,-1,8,0,9,-1,7,0,8,-1,6,0,7,-1,28,29,35,-1,27,28,35,-1,27,35,18,-1,26,27,18,-1,25,26,18,-1,24,25,18,-1}).setNormalIndex(new int[] {8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {10,17,11,-1,9,17,10,-1,9,0,17,-1,8,0,9,-1,7,0,8,-1,6,0,7,-1,28,29,35,-1,27,28,35,-1,27,35,18,-1,26,27,18,-1,25,26,18,-1,24,25,18,-1})
                  .setCoord(new Coordinate().setUSE("Line34-COORD"))
                  .setTexCoord(new TextureCoordinate().setUSE("Line34-TEXCOORD"))
                  .setNormal(new Normal().setUSE("DefIndian42"))))
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian44"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {11,13,12,-1,11,14,13,-1,11,15,14,-1,4,6,5,-1,3,6,4,-1,2,6,3,-1,11,16,15,-1,11,17,16,-1,2,0,6,-1,1,0,2,-1,29,30,31,-1,29,31,32,-1,29,32,33,-1,22,23,24,-1,21,22,24,-1,20,21,24,-1,29,33,34,-1,29,34,35,-1,20,24,18,-1,19,20,18,-1}).setNormalIndex(new int[] {8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,8,8,8,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1,4,4,4,-1}).setTexCoordIndex(new int[] {11,13,12,-1,11,14,13,-1,11,15,14,-1,4,6,5,-1,3,6,4,-1,2,6,3,-1,11,16,15,-1,11,17,16,-1,2,0,6,-1,1,0,2,-1,29,30,31,-1,29,31,32,-1,29,32,33,-1,22,23,24,-1,21,22,24,-1,20,21,24,-1,29,33,34,-1,29,34,35,-1,20,24,18,-1,19,20,18,-1})
                  .setCoord(new Coordinate().setUSE("Line34-COORD"))
                  .setTexCoord(new TextureCoordinate().setUSE("Line34-TEXCOORD"))
                  .setNormal(new Normal().setUSE("DefIndian42")))))
            .addChild(new Transform("Object1709").setRotation(-1.0,0.0,0.0,-3.142).setScale(.3516,.4069,.3516).setTranslation(.3974,-.1736,.9948)
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian31"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {0,1,7,-1,0,7,6,-1,1,2,8,-1,1,8,7,-1,2,3,9,-1,2,9,8,-1,3,4,10,-1,3,10,9,-1,4,5,11,-1,4,11,10,-1,5,0,6,-1,5,6,11,-1}).setNormalIndex(new int[] {3,3,3,-1,3,3,3,-1,0,0,0,-1,0,0,0,-1,4,4,4,-1,4,4,4,-1,1,1,1,-1,1,1,1,-1,6,6,6,-1,6,6,6,-1,5,5,5,-1,5,5,5,-1}).setTexCoordIndex(new int[] {24,25,26,-1,24,26,27,-1,28,29,30,-1,28,30,31,-1,12,13,14,-1,12,14,15,-1,32,33,34,-1,32,34,35,-1,20,21,22,-1,20,22,23,-1,16,17,18,-1,16,18,19,-1})
                  .setCoord(new Coordinate("Object1709-COORD").setPoint(new MFVec3f(new double[] {-1.479,0.0,-.4576,-2.594,0.0,.6525,-2.594,0.0,.9353,.8995,0.0,.9284,.8995,0.0,.6525,-.2148,0.0,-.4576,-1.479,-.74,-.4576,-2.594,-.74,.6525,-2.594,-.74,.9353,.8995,-.74,.9284,.8995,-.74,.6525,-.2148,-.74,-.4576})))
                  .setTexCoord(new TextureCoordinate("Object1709-TEXCOORD").setPoint(new MFVec2f(new double[] {.681,0.0,1.0,.797,1.0,1.0,.001,.995,0.0,.797,.319,0.0,.681,0.0,1.0,.797,1.0,1.0,.001,.995,0.0,.797,.319,0.0,0.0,1.0,0.0,.001,1.0,.001,1.0,1.0,1.0,-.063,1.0,.452,0.0,.452,.001,-.063,0.0,1.0,0.0,0.0,1.0,0.0,1.0,1.0,1.0,.012,.948,1.0,0.0,.988,.052,0.0,0.0,.184,0.0,.315,1.0,.315,1.0,.184,0.0,.311,0.0,.184,1.0,.184,1.0,.311})))
                  .setNormal(new Normal().setUSE("DefIndian47"))))
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("DefIndian44"))
                .setGeometry(new IndexedFaceSet().setCcw(false).setCreaseAngle(0.524).setCoordIndex(new int[] {2,4,3,-1,2,5,4,-1,2,0,5,-1,2,1,0,-1,8,9,10,-1,8,10,11,-1,8,11,6,-1,8,6,7,-1}).setNormalIndex(new int[] {7,7,7,-1,7,7,7,-1,7,7,7,-1,7,7,7,-1,2,2,2,-1,2,2,2,-1,2,2,2,-1,2,2,2,-1}).setTexCoordIndex(new int[] {2,4,3,-1,2,5,4,-1,2,0,5,-1,2,1,0,-1,8,9,10,-1,8,10,11,-1,8,11,6,-1,8,6,7,-1})
                  .setCoord(new Coordinate().setUSE("Object1709-COORD"))
                  .setTexCoord(new TextureCoordinate().setUSE("Object1709-TEXCOORD"))
                  .setNormal(new Normal().setUSE("DefIndian47")))))))
        .addChild(new Transform("Rectangle101").setRotation(-.655,-.655,.378,-2.419).setTranslation(-1.473,24.21,18.74)
          .addChild(new Shape()
            .setAppearance(new Appearance("DefIndian48")
              .setTexture(new ImageTexture().setRepeatS(false).setRepeatT(false).setUrl(new String[] {"Textures/CraneMat25.png","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat25.png"}))
              .setMaterial(new Material().setUSE("DefIndian12")))
            .setGeometry(new IndexedFaceSet("Rectangle101-FACES").setDEF("Rectangle101-FACES").setCreaseAngle(0.524).setSolid(false).setCoordIndex(new int[] {2,3,0,-1,1,2,0,-1}).setNormalIndex(new int[] {0,0,0,-1,0,0,0,-1}).setTexCoordIndex(new int[] {2,3,0,-1,1,2,0,-1})
              .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {.7208,0.0,-8.72,-.7208,0.0,-8.72,-.7208,0.0,8.72,.7208,0.0,8.72})))
              .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {1.0,1.0,.001,1.0,0.0,0.0,1.0,0.0})))
              .setNormal(new Normal().setVector(new MFVec3f(new double[] {0.0,1.0,0.0}))))))
        .addChild(new Transform("Rectangle145").setRotation(-.655,-.655,.378,-2.419).setTranslation(1.601,24.21,18.75)
          .addChild(new Shape()
            .setAppearance(new Appearance().setUSE("DefIndian48"))
            .setGeometry(new IndexedFaceSet().setUSE("Rectangle101-FACES"))))
        .addChild(new Transform("Rectangle100").setRotation(-.577,-.577,.577,-2.094).setTranslation(-1.392,-7.004,-9.454)
          .addChild(new Shape()
            .setAppearance(new Appearance()
              .setTexture(new ImageTexture().setRepeatT(false).setUrl(new String[] {"Textures/CraneMat24.png","https://www.web3d.org/x3d/content/examples/Savage/HarborEquipment/Crane/Textures/CraneMat24.png"}))
              .setMaterial(new Material().setUSE("DefIndian12")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setSolid(false).setCoordIndex(new int[] {2,3,0,-1,2,0,1,-1}).setNormalIndex(new int[] {0,0,0,-1,0,0,0,-1}).setTexCoordIndex(new int[] {2,3,0,-1,2,0,1,-1})
              .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {16.75,0.0,-1.094,-16.75,0.0,-1.094,-16.75,0.0,1.094,16.75,0.0,1.094})))
              .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {11.99,1.0,.006,1.0,.006,.001,11.99,0.0})))
              .setNormal(new Normal().setVector(new MFVec3f(new double[] {0.0,1.0,0.0})))))))));
            }
            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[] getBox30_COORD_8_134_point_1()
		{
			double[] value = {-33.23,201.2,-5.123,-33.23,201.2,5.122,-40.66,189.0,5.122,-40.66,189.0,-5.123,-169.5,201.2,-99.08,-169.5,201.2,-88.83,-170.4,189.0,-90.52,-170.4,189.0,-100.8,-143.7,362.3,-99.08,-143.7,362.3,-88.83,-138.4,349.4,-88.83,-138.4,349.4,-99.08,-177.7,-95.09,5.123,-177.7,-95.09,-5.123,-170.4,189.0,5.123,-177.8,201.2,5.123,-170.4,189.0,-5.123,-177.8,201.2,-5.123,-177.7,-83.87,-112.2,-177.7,-83.87,-122.5,-177.8,201.2,-88.83,-177.8,201.2,-99.08,-177.7,18.99,-5.123,-170.3,18.99,-5.123,-177.7,18.99,-112.2,-177.7,10.87,-5.123,-170.3,10.87,-5.123,-177.7,10.87,-112.2,-170.3,10.87,-112.2,-177.7,18.99,-122.5,-170.3,18.99,-122.5,-143.7,349.4,-99.08,-143.7,349.4,-88.83,-170.3,27.18,-111.1,-177.8,187.1,-5.123,-170.4,187.1,-5.123,-170.4,179.1,-5.123,-177.8,179.1,-5.123,-33.37,-95.09,5.122,-33.37,-95.09,-5.123,-33.37,-83.87,-112.2,-33.37,-83.87,-122.5,-40.66,189.0,-90.52,-33.23,201.2,-88.83,-40.66,189.0,-100.8,-33.23,201.2,-99.08,-33.33,18.99,-5.123,-40.75,18.99,-5.123,-33.33,18.99,-112.2,-33.33,10.87,-5.123,-40.75,10.87,-5.123,-33.33,10.87,-112.2,-40.75,10.87,-112.2,-33.32,18.99,-122.5,-40.75,18.99,-122.5,-41.55,201.2,-99.08,-41.55,201.2,-88.83,-67.38,362.3,-88.83,-67.38,362.3,-99.08,-67.36,349.4,-99.08,-67.36,349.4,-88.83,-72.64,349.4,-88.83,-72.64,349.4,-99.08,-40.74,27.18,-111.1,-33.24,187.1,-5.123,-40.66,187.1,-5.123,-40.67,179.1,-5.123,-33.24,179.1,-5.123,-170.3,18.99,-112.2,-177.7,27.18,-111.1,-40.75,18.99,-112.2,-33.32,27.18,-111.1,-170.2,-86.17,-5.121,-170.2,-74.96,-112.2,-40.79,-86.18,-5.123,-40.79,-74.97,-112.2,-170.2,-86.17,5.124,-170.2,-74.96,-122.5,-40.79,-86.18,5.122,-40.79,-74.97,-122.5,-177.7,-86.17,5.123,-170.2,-86.17,5.124,-177.7,-86.17,-5.123,-170.2,-86.17,-5.121,-33.37,-86.18,5.122,-40.79,-86.18,5.122,-33.37,-86.18,-5.123,-40.79,-86.18,-5.123,-177.7,-74.96,-112.2,-170.2,-74.96,-112.2,-177.7,-74.96,-122.5,-170.2,-74.96,-122.5,-40.79,-74.97,-112.2,-33.37,-74.97,-112.2,-33.37,-74.97,-122.5,-40.79,-74.97,-122.5,-170.4,189.0,5.123,-177.8,189.0,5.123,-40.66,189.0,5.122,-177.8,189.0,-5.123};
			return value;
		}
		private double[] getBox30_COORD_8_134_point_2()
		{
			double[] value = {-33.24,189.0,5.122,-33.24,189.0,-5.123};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getBox30_TEXCOORD_8_135_point_1()
		{
			double[] value = {0.0,.322,1.0,.343,0.0,.271,1.0,.288,0.0,.322,0.0,.271,1.0,.343,1.0,.288,0.0,.322,1.0,.343,0.0,.271,1.0,.288,0.0,.322,0.0,.271,1.0,.343,1.0,.288,.017,18.47,0.0,-17.91,.005,-3.301,.986,-3.301,0.0,-17.91,.986,-3.301,.005,-3.301,0.0,-16.43,.987,-2.228,.006,-2.228,.017,18.47,1.0,20.09,0.0,-16.43,.017,18.47,.006,-1.145,.988,-1.145,1.0,20.09,.998,17.17,.987,-2.228,.006,-2.228,.016,17.17,.001,1.8,1.0,1.603,.999,-.8,0.0,-.8,1.0,1.8,2.114,5.589,3.112,5.589,1.11,1.998,.999,-.8,1.0,1.603,.001,1.8,.001,-.8,1.0,1.8,2.114,5.589,1.11,1.998,3.112,5.589,1.0,-2.834,.98,3.826,.018,-2.834,1.0,-2.834,.982,-17.91,.001,-17.91,.982,-17.91,0.0,-17.91,.001,.001,.001,1.0,.052,.999,.948,.998,.948,.998,.052,.999,1.0,.001,.052,.999,.001,.001,.948,.998,1.0,.001,.948,.998,.052,.999,0.0,1.0,1.0,.998,1.0,.998,0.0,-16.43,.982,-16.43,.982,-16.43,0.0,-16.43,.001,.001,0.0,1.0,.052,.999,.052,1.0,.948,.999,.948,.998,1.0,.001,.052,.999,.001,.001,1.0,.001,.052,1.0,.948,.998,.948,.999,.001,1.0,1.0,.998,1.0,.998,0.0,1.0,0.0,.001,1.0,0.0};
			return value;
		}
		private double[] getBox30_TEXCOORD_8_135_point_2()
		{
			double[] value = {1.0,1.0,.001,0.0,1.0,.001,1.0,1.0,.001,1.0,.001,1.0,1.0,1.0,1.0,.001,.001,0.0,1.0,.001,1.0,1.0,0.0,1.0,0.0,0.0,.001,-.499,1.0,-.499,1.0,-.439,.001,-.439,1.0,-.439,1.0,-.499,.001,-.499,.001,-.439,1.0,1.499,.001,1.499,.001,1.404,.001,1.35,.001,.27,.001,.216,0.0,1.404,0.0,1.499,1.0,1.499,.001,.216,.001,.27,0.0,1.35,.001,.213,.999,.213,1.0,.792,.001,.847,1.0,.847,.001,.153,.001,.213,.999,.213,.999,.153,.001,.847,1.0,.847,1.0,.792,.001,.153,.999,.153,.001,-.124,.937,-.115,.948,-.059,1.0,1.124,.063,1.115,.001,-.124,.063,1.115,1.0,1.124,.948,-.059,.937,-.115,1.0,.999,.022,1.0,.001,.001,.978,0.0,.001,.001,.022,1.0,1.0,.999,.978,0.0,.991,.155,.011,.155,.001,2.165,.98,2.165,.992,.053,1.0,-1.165,1.0,-1.165,.017,-1.165,.012,.053,.018,-1.391,.999,-1.391,1.0,-1.391,.014,-.041,.992,-.041,.98,2.76,.991,.086,.013,.086,.001,2.952,.98,2.76,1.096,2.952,.001,2.952,1.096,2.952,4.498,5.282,5.194,5.282,4.498,5.282,5.194,5.282,.012,.215,.991,.215,1.0,-1.391,.999,-1.391,.018,-1.391,.022,-4.468,-.026,-3.73,.993,-3.734,-.04,13.77};
			return value;
		}
		private double[] getBox30_TEXCOORD_8_135_point_3()
		{
			double[] value = {1.0,13.77,.001,2.846,.001,2.879,1.0,2.879,1.0,-1.878,.001,-1.878,.001,-.06,.001,2.708,1.0,2.879,0.0,2.879,.001,2.846,.001,2.708,.001,-.06,.001,-1.879,1.0,-1.879,.999,1.0,0.0,1.0,.001,0.0,1.0,0.0,1.0,.001,.001,0.0,0.0,1.0,1.0,1.0,.725,.037,.887,1.0,.74,.967,.611,0.0,.387,0.0,.26,.967,.112,1.0,.275,.037,-.113,1.0,.26,.967,.113,1.0,.275,.037,.389,0.0,.888,1.0,.74,.967,.613,0.0,.725,.037,-.112,1.0,-.275,.037,.023,10.49,1.0,9.203,.023,9.002,1.007,-9.363,.001,-9.356,1.0,1.415,0.0,1.402,.001,-.402,1.0,-.415,1.0,1.415,1.0,-.415,.001,-.402,.001,1.402,.001,-.201,.001,-.201,.98,3.826,.001,3.826,1.0,1.416,.017,18.47,.001,1.416,.999,18.47,1.0,1.416,0.0,1.416,1.0,0.0,1.0,1.0,.133,.948,.133,.948,.133,.052,.133,.052,.133,.948,1.0,1.0,1.0,0.0,.133,.052,0.0,.948,.001,.999,.133,1.0,0.0,.001,0.0,.052,.133,.001,.133,1.0,.133,.001,1.0,1.479,.001,1.479,.001,-.479,1.0,-.479,.001,1.379,1.0,1.379,1.0,-.379,.001,-.379,1.0,1.0,1.0,0.0,.142,0.0,.142,1.0,.858,.993,.001,.993,.001,.007,.858,.007,1.0,-1.111};
			return value;
		}
		private double[] getBox30_TEXCOORD_8_135_point_4()
		{
			double[] value = {.001,-1.111,.001,2.111,1.0,2.111,0.0,2.111,.001,-1.111,1.0,-1.111,1.0,2.111,1.0,.999,.001,1.0,.001,.93,.001,.93,.001,1.0,1.0,.999,.001,.07,.001,0.0,1.0,.001,1.0,.001,.001,0.0,.001,.07,.001,0.0,1.0,0.0,1.0,1.0,0.0,1.0,.001,.715,.001,.285,1.0,.285,1.0,.715,.001,.285,1.0,.285,1.0,.715,.001,.715,.001,.715,1.0,.285,.001,.285,1.0,.715,0.0,1.0,1.0,1.0,1.0,0.0,.001,0.0,1.0,-1.672,.001,-1.672,0.0,2.672,1.0,2.672,-10.44,-1.672,-11.44,-1.672,-11.44,2.672,-10.44,2.672};
			return value;
		}



		/** Define subarrays using type int[] */
		private int[] getIndexedFaceSet_7_180_coordIndex_1()
		{
			int[] value = {80,82,13,-1,13,12,80,-1,17,15,1,-1,1,0,17,-1,14,16,3,-1,3,2,14,-1,1,15,96,-1,1,96,14,-1,14,2,98,-1,1,14,98,-1,16,17,0,-1,0,3,16,-1,88,89,73,-1,73,28,27,-1,88,73,27,-1,29,24,69,-1,29,69,20,-1,29,20,21,-1,29,21,7,-1,7,30,29,-1,6,5,20,-1,7,21,4,-1,16,35,34,-1,16,34,99,-1,16,99,17,-1,25,27,28,-1,28,26,25,-1,23,68,24,-1,24,22,23,-1,27,29,90,-1,90,88,27,-1,27,24,29,-1,21,20,32,-1,32,31,21,-1,5,10,32,-1,32,20,5,-1,4,21,31,-1,31,11,4,-1,8,31,32,-1,32,9,8,-1,9,32,10,-1,11,31,8,-1,6,20,69,-1,69,33,6,-1,37,36,23,-1,23,22,37,-1,69,24,37,-1,37,34,69,-1,68,33,35,-1,35,36,68,-1,33,69,34,-1,34,35,33,-1,24,68,36,-1,36,37,24,-1,39,86,84,-1,84,38,39,-1,53,45,43,-1,53,43,71,-1,53,71,48,-1,7,44,42,-1,42,6,7,-1,5,6,42,-1,42,56,5,-1,4,55,44,-1,44,7,4,-1,64,65,3,-1,3,0,101,-1,64,3,101,-1,52,51,49,-1,49,50,52,-1,48,70,47,-1,47,46,48,-1,93,40,41,-1,41,94,93,-1,53,48,51,-1,4,5,56,-1,56,55,4,-1,60,43,45,-1,45,59,60,-1,60,59,58,-1,58,57,60,-1,61,60,57,-1,58,59,62,-1,8,9,57,-1,57,58,8,-1,10,11,62,-1,62,61,10,-1,11,8,58,-1,58,62,11,-1,9,10,61,-1,61,57,9,-1,67,48,71,-1,71,64,67,-1,65,63,70,-1,70,66,65,-1,64,71,63,-1,63,65,64,-1,66,70,48,-1,48,67,66,-1,72,76,78,-1,78,74,72,-1,77,73,75,-1,75,79,77,-1,80,97,99,-1,80,99,34,-1,80,34,37,-1,80,37,22,-1,80,22,25,-1,80,25,82,-1,83,82,25,-1,83,25,26,-1,83,26,72,-1,100,101,0,-1,0,1,100,-1,88,90,19,-1,19,18,88,-1,30,77,91,-1,91,90,29,-1,30,91,29,-1,51,93,94,-1,94,53,51,-1,96,15,97,-1,100,1,98,-1,15,17,99,-1,99,97,15,-1,100,84,86,-1,86,49,46,-1,100,86,46,-1,100,46,67,-1,100,67,64,-1,100,64,101,-1};
			return value;
		}


		/** Define subarrays using type int[] */
		private int[] getIndexedFaceSet_7_180_normalIndex_1()
		{
			int[] value = {20,20,20,-1,10,10,10,-1,37,37,37,-1,37,37,37,-1,56,56,56,-1,56,56,56,-1,50,50,50,-1,22,22,22,-1,22,22,22,-1,50,50,50,-1,75,75,75,-1,75,75,75,-1,50,50,50,-1,50,50,50,-1,50,50,50,-1,14,14,14,-1,14,14,14,-1,16,16,16,-1,33,33,33,-1,38,38,38,-1,28,28,28,-1,25,25,25,-1,75,75,75,-1,75,75,75,-1,75,75,75,-1,56,56,56,-1,56,56,56,-1,37,37,37,-1,37,37,37,-1,29,29,29,-1,10,10,10,-1,26,26,26,-1,63,63,63,-1,63,63,63,-1,50,50,50,-1,50,50,50,-1,75,75,75,-1,75,75,75,-1,47,47,47,-1,47,47,47,-1,50,50,50,-1,75,75,75,-1,41,41,41,-1,42,42,42,-1,75,75,75,-1,75,75,75,-1,24,4,43,-1,43,67,24,-1,55,49,51,-1,51,52,55,-1,49,24,67,-1,67,51,49,-1,4,55,52,-1,52,43,4,-1,81,81,81,-1,68,68,68,-1,72,72,72,-1,69,69,69,-1,69,69,69,-1,56,56,56,-1,56,56,56,-1,28,28,28,-1,28,28,28,-1,25,25,25,-1,25,25,25,-1,75,75,75,-1,75,75,75,-1,75,75,75,-1,56,56,56,-1,56,56,56,-1,37,37,37,-1,37,37,37,-1,54,54,54,-1,54,54,54,-1,7,7,7,-1,37,37,37,-1,37,37,37,-1,44,44,44,-1,44,44,44,-1,36,36,36,-1,36,36,36,-1,50,50,50,-1,75,75,75,-1,37,37,37,-1,37,37,37,-1,56,56,56,-1,56,56,56,-1,75,75,75,-1,75,75,75,-1,50,50,50,-1,50,50,50,-1,34,61,3,-1,3,46,34,-1,73,70,80,-1,80,76,73,-1,46,3,70,-1,70,73,46,-1,76,80,61,-1,61,34,76,-1,37,37,37,-1,37,37,37,-1,37,37,37,-1,37,37,37,-1,30,30,30,-1,79,79,79,-1,77,77,77,-1,64,64,64,-1,23,23,23,-1,20,20,20,-1,6,6,6,-1,75,75,75,-1,75,75,75,-1,17,17,17,-1,68,68,68,-1,78,78,78,-1,78,78,78,-1,75,75,75,-1,75,75,75,-1,75,75,75,-1,68,68,68,-1,11,11,11,-1,50,50,50,-1,50,50,50,-1,16,16,16,-1,30,30,30,-1,13,13,13,-1,31,31,31,-1,40,40,40,-1,17,17,17,-1,17,17,17,-1,17,17,17,-1};
			return value;
		}


		/** Define subarrays using type int[] */
		private int[] getIndexedFaceSet_7_180_texCoordIndex_1()
		{
			int[] value = {80,82,13,-1,13,12,80,-1,17,15,1,-1,1,0,17,-1,14,16,3,-1,3,2,14,-1,1,15,96,-1,1,96,14,-1,14,2,98,-1,1,14,98,-1,16,17,0,-1,0,3,16,-1,88,89,73,-1,73,28,27,-1,88,73,27,-1,29,24,69,-1,29,69,20,-1,29,20,21,-1,29,21,7,-1,7,30,29,-1,6,5,20,-1,7,21,4,-1,16,35,34,-1,16,34,99,-1,16,99,17,-1,25,27,28,-1,28,26,25,-1,23,68,24,-1,24,22,23,-1,27,29,90,-1,90,88,27,-1,27,24,29,-1,21,20,32,-1,32,31,21,-1,5,10,32,-1,32,20,5,-1,4,21,31,-1,31,11,4,-1,8,31,32,-1,32,9,8,-1,9,32,10,-1,11,31,8,-1,6,20,69,-1,69,33,6,-1,37,36,23,-1,23,22,37,-1,69,24,37,-1,37,34,69,-1,68,33,35,-1,35,36,68,-1,33,69,34,-1,34,35,33,-1,24,68,36,-1,36,37,24,-1,39,86,84,-1,84,38,39,-1,53,45,43,-1,53,43,71,-1,53,71,48,-1,7,44,42,-1,42,6,7,-1,5,6,42,-1,42,56,5,-1,4,55,44,-1,44,7,4,-1,64,65,3,-1,3,0,101,-1,64,3,101,-1,52,51,49,-1,49,50,52,-1,48,70,47,-1,47,46,48,-1,93,40,41,-1,41,94,93,-1,53,48,51,-1,4,5,56,-1,56,55,4,-1,60,43,45,-1,45,59,60,-1,60,59,58,-1,58,57,60,-1,61,60,57,-1,58,59,62,-1,8,9,57,-1,57,58,8,-1,10,11,62,-1,62,61,10,-1,11,8,58,-1,58,62,11,-1,9,10,61,-1,61,57,9,-1,67,48,71,-1,71,64,67,-1,65,63,70,-1,70,66,65,-1,64,71,63,-1,63,65,64,-1,66,70,48,-1,48,67,66,-1,72,76,78,-1,78,74,72,-1,77,73,75,-1,75,79,77,-1,80,97,99,-1,80,99,34,-1,80,34,37,-1,80,37,22,-1,80,22,25,-1,80,25,82,-1,83,82,25,-1,83,25,26,-1,83,26,72,-1,100,101,0,-1,0,1,100,-1,88,90,19,-1,19,18,88,-1,30,77,91,-1,91,90,29,-1,30,91,29,-1,51,93,94,-1,94,53,51,-1,96,15,97,-1,100,1,98,-1,15,17,99,-1,99,97,15,-1,100,84,86,-1,86,49,46,-1,100,86,46,-1,100,46,67,-1,100,67,64,-1,100,64,101,-1};
			return value;
		}

		/** Large attribute array: Coordinate DEF='Box30-COORD' point field, scene-graph level=8, element #134, 306 total numbers made up of 102 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 MFVec3f getBox30_COORD_8_134_point()
		{
			MFVec3f Box30_COORD_8_134_point = new MFVec3f()/*2.finalize*/
				.append(new MFVec3f(getBox30_COORD_8_134_point_1()))
				.append(new MFVec3f(getBox30_COORD_8_134_point_2()));
			return Box30_COORD_8_134_point;
		}
		/** Large attribute array: TextureCoordinate DEF='Box30-TEXCOORD' point field, scene-graph level=8, element #135, 694 total numbers made up of 347 2-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 MFVec2f getBox30_TEXCOORD_8_135_point()
		{
			MFVec2f Box30_TEXCOORD_8_135_point = new MFVec2f()/*2.finalize*/
				.append(new MFVec2f(getBox30_TEXCOORD_8_135_point_1()))
				.append(new MFVec2f(getBox30_TEXCOORD_8_135_point_2()))
				.append(new MFVec2f(getBox30_TEXCOORD_8_135_point_3()))
				.append(new MFVec2f(getBox30_TEXCOORD_8_135_point_4()));
			return Box30_TEXCOORD_8_135_point;
		}
		/** Large attribute array: Normal DEF='DefIndian37' vector field, scene-graph level=8, element #136, 249 total numbers made up of 83 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 MFVec3f getDefIndian37_8_136_vector()
		{
			MFVec3f DefIndian37_8_136_vector = new MFVec3f(new double[] {-.0002,0.0,1.0,.9999,.0008,-.0001,.9999,.0006,-.0002,.8639,.2778,-.4199,-.2763,-.5343,.7988,-.9999,.0004,.0005,.0002,0.0,-1.0,.9999,-.0008,.0001,-.9999,.0005,-.0001,.9999,-.0008,0.0,-.9999,-.0004,0.0,.9999,-.0004,.0004,0.0,.0002,-1.0,.9999,-.0004,-.0001,-.9999,-.0005,.0001,.0151,.1272,-.9917,-.9999,-.0005,0.0,.9999,-.0005,-.0001,-.9999,.0003,-.0004,-.9999,.0003,.0019,-.9999,-.0003,-.0001,-.9999,.0008,-.0001,0.0,-.0003,.9999,-.9999,-.0008,-.0049,-.8639,.2778,-.4199,0.0,.1362,-.9906,-.9999,-.0008,.0001,-.9999,-.0008,0.0,0.0,-.1362,.9906,-.9999,-.0004,.0004,-.9999,-.0004,-.0001,.0007,0.0,-.9999,.0632,0.0,.9979,-.0151,.1272,-.9917,.8515,-.2917,.4356,.9999,.0006,-.0016,.9999,.0013,0.0,0.0,1.0,0.0,0.0,.1265,-.9919,.9786,-.2053,0.0,.9999,-.0003,-.002,.016,-.1267,.9918,0.0,-.126,.992,-.8515,-.2917,.4356,.9744,.2244,0.0,.9999,.0005,0.0,.3491,.5174,-.7812,-.9999,.0013,0.0,.9999,.0006,0.0,.8638,.2785,-.4198,0.0,0.0,1.0,.3489,.5176,-.7811,.8516,-.291,.4357,-.9786,-.2053,0.0,.9999,-.0003,0.0,.2765,-.5341,.7989,0.0,-1.0,0.0,-.9999,.0004,.0001,-.9999,.0004,0.0,.9999,.0008,0.0,-.016,-.1267,.9918,.2763,-.5343,.7988,.9999,.0004,.0005,-.9744,.2244,0.0,-.9999,-.0005,-.0012,-.9999,.0005,0.0,.9999,.0005,-.0001,-.3491,.5174,-.7812,.9999,-.0004,0.0,.9999,-.0005,.0001,-.8638,.2785,-.4198,0.0,-.0001,1.0,.9999,-.0005,0.0,-.3489,.5176,-.7811,-.0005,0.0,.9999,0.0,0.0,-1.0,-.8516,-.291,.4357,-.9999,-.0005,-.0025,-.9999,-.0003,0.0,-.9999,-.0005,-.0026,-.2765,-.5341,.7989,.9999,-.0003,-.0001,-.9999,.0008,0.0});
			return DefIndian37_8_136_vector;
		}
		/** Large attribute array: IndexedFaceSet coordIndex field, scene-graph level=7, element #180, 524 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 MFInt32 getIndexedFaceSet_7_180_coordIndex()
		{
			MFInt32 IndexedFaceSet_7_180_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_7_180_coordIndex_1()));
			return IndexedFaceSet_7_180_coordIndex;
		}
		/** Large attribute array: IndexedFaceSet normalIndex field, scene-graph level=7, element #180, 524 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 MFInt32 getIndexedFaceSet_7_180_normalIndex()
		{
			MFInt32 IndexedFaceSet_7_180_normalIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_7_180_normalIndex_1()));
			return IndexedFaceSet_7_180_normalIndex;
		}
		/** Large attribute array: IndexedFaceSet texCoordIndex field, scene-graph level=7, element #180, 524 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 MFInt32 getIndexedFaceSet_7_180_texCoordIndex()
		{
			MFInt32 IndexedFaceSet_7_180_texCoordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_7_180_texCoordIndex_1()));
			return IndexedFaceSet_7_180_texCoordIndex;
		}

	/** 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 Crane 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 Crane().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.HarborEquipment.Crane.Crane\" 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.HarborEquipment.Crane.Crane self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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